Index: libcfa/src/fstream.cfa
===================================================================
--- libcfa/src/fstream.cfa	(revision 874b16e4ec3267372a00df991cebd1f190221b10)
+++ libcfa/src/fstream.cfa	(revision 48ec19a6b7aa401947f7315e4bf4d7092b21285e)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Jun  5 22:00:23 2023
-// Update Count     : 518
+// Last Modified On : Sat Jun 17 08:51:12 2023
+// Update Count     : 528
 //
 
@@ -169,8 +169,6 @@
 	  if ( cnt == 9 ) abort( "ofstream fmt EINTR spinning exceeded" );
     } // for
-	if ( len == EOF ) {
-		if ( ferror( (FILE *)(os.file$) ) ) {
-			abort | IO_MSG "invalid write";
-		} // if
+	if ( len == EOF ) {									// error writing ?
+		abort | IO_MSG "invalid write";
 	} // if
 	va_end( args );
@@ -302,6 +300,6 @@
 	  if ( len != EOF || errno != EINTR ) break;		// timer interrupt ?
     } // for
-	if ( len == EOF ) {
-		if ( ferror( (FILE *)(is.file$) ) ) {
+	if ( len == EOF ) {									// EOF or matching failure ?
+		if ( ! feof( (FILE *)(is.file$) ) && ferror( (FILE *)(is.file$) ) ) {
 			abort | IO_MSG "invalid read";
 		} // if
