Index: libcfa/src/iostream.cfa
===================================================================
--- libcfa/src/iostream.cfa	(revision 04db9f67a6831b461e75e0c77e20333279541951)
+++ libcfa/src/iostream.cfa	(revision bf1cbde8549594a47893ee6d678e5552340e47a3)
@@ -960,5 +960,16 @@
 	istype & ?|?( istype & is, _Istream_Cskip f ) {
 		// printf( "skip %s %d\n", f.scanset, f.wd );
-		if ( f.scanset ) fmt( is, f.scanset, "" );		// no input arguments
+		if ( f.scanset ) {
+			int nscanset = strlen(f.scanset);
+			char fmtstr[ sizeof("%*[]") + nscanset ];
+			int pos = 0;
+			fmtstr[pos] = '%';                  pos += 1;
+			fmtstr[pos] = '*';                  pos += 1;
+			fmtstr[pos] = '[';                  pos += 1;
+			strcpy( &fmtstr[pos], f.scanset );  pos += nscanset;
+			fmtstr[pos] = ']';                  pos += 1;
+			fmtstr[pos] = '\0';
+			fmt( is, fmtstr, (void*)0 );  // last arg is dummy: suppress gcc warning
+		}
 		else for ( f.wd ) fmt( is, "%*c" );
 		return is;
Index: tests/collections/.in/string-istream-manip.txt
===================================================================
--- tests/collections/.in/string-istream-manip.txt	(revision 04db9f67a6831b461e75e0c77e20333279541951)
+++ tests/collections/.in/string-istream-manip.txt	(revision bf1cbde8549594a47893ee6d678e5552340e47a3)
@@ -1,4 +1,4 @@
 abc 
-abc 
+cccccb 
 xx
 abcxxx
@@ -6,5 +6,5 @@
 aaaaaaaaxxxxxxxxaabbccbbdddwwwbbbbbbbbwwwwwwwwaaaaaaaawwwwwwww
 abc 
-abc 
+cccccb 
 xx
 abcxxx
Index: tests/io/.in/manipulatorsInput.txt
===================================================================
--- tests/io/.in/manipulatorsInput.txt	(revision 04db9f67a6831b461e75e0c77e20333279541951)
+++ tests/io/.in/manipulatorsInput.txt	(revision bf1cbde8549594a47893ee6d678e5552340e47a3)
@@ -2,5 +2,5 @@
 123456789
 abc 
-abc 
+cccccb 
 xx
 abcxxx
@@ -8,5 +8,5 @@
 aaaaaaaaxxxxxxxxaabbccbbdddwwwbbbbbbbbwwwwwwwwaaaaaaaawwwwwwww
 abc 
-abc 
+cccccb 
 xx
 abcxxx
Index: tests/io/manipulatorsInput.cfa
===================================================================
--- tests/io/manipulatorsInput.cfa	(revision 04db9f67a6831b461e75e0c77e20333279541951)
+++ tests/io/manipulatorsInput.cfa	(revision bf1cbde8549594a47893ee6d678e5552340e47a3)
@@ -52,6 +52,6 @@
 	{
 		char s[] = "yyyyyyyyyyyyyyyyyyyy";
-		const char sk[] = "abc";
-		scanf( "abc " ); scanf( sk ); for ( 5 ) scanf( "%*c" );	printf( "1 %s\n", s );
+		const char sk_fmt[] = "%*[abc]";
+		scanf( "abc " ); scanf( sk_fmt ); for ( 5 ) scanf( "%*c" ); printf( "1 %s\n", s );
 		scanf( "%s", s );								printf( "2 %s\n", s );
 		scanf( "%*s" );									printf( "3 %s\n", s );
