diff --git a/s/FSystem b/s/FSystem
index 19adcd512bf95a72dd099e941b164a31fb68c474..23427c54b1d6a633800b3bba8ac73ef782e7118a 100644
--- a/s/FSystem
+++ b/s/FSystem
@@ -2335,16 +2335,16 @@ HandleSpecial   Entry   "r0-r6"
                 STR     r0, [fr, #file_BufferHandle]
 10
                 LDR     r0, sp_block                            ; maybe set the non-blocking bit
-                TEQ     r0, #1
+                TEQ     r0, #0
                 LDR     r0, [fr, #file_Flags]
-                ORRNE   r0, r0, #ff_NonBlocking
-                BICEQ   r0, r0, #ff_NonBlocking
+                ORREQ   r0, r0, #ff_NonBlocking
+                BICNE   r0, r0, #ff_NonBlocking                 ; "block" or unspecified
                 STR     r0, [fr, #file_Flags]
  [ TWSleep
                 LDR     r0, sp_sleep                            ; maybe set the sleeping word
                 TEQ     r0, #1
                 MOVEQ   r0, #ff_Sleeping
-                MOVNE   r0, #ff_DontSleep
+                MOVNE   r0, #ff_DontSleep                       ; "nosleep" or unspecified
                 STR     r0, [fr, #file_PollWord]
 
                 LDR     r0, sp_timeout                          ; set the timeout for sleeping