diff --git a/lib/modules/Stdio.pmod b/lib/modules/Stdio.pmod
index 94b206ee49b4fa40c8316e20f875720c8620b817..05d1f8ae9e63a03fad5584ee60f9649ef6186451 100644
--- a/lib/modules/Stdio.pmod
+++ b/lib/modules/Stdio.pmod
@@ -1,4 +1,4 @@
-// $Id: Stdio.pmod,v 1.32 1998/07/27 21:56:35 hubbe Exp $
+// $Id: Stdio.pmod,v 1.33 1998/07/28 23:53:17 hubbe Exp $
 
 #include <string.h>
 
@@ -220,7 +220,7 @@ class File
 #endif
 
 #define SET(X,Y) ::set_##X ((___##X = (Y)) && __stdio_##X)
-#define _SET(X,Y) do { _fd->_##X=__stdio_##X; ___##X = (Y); }while(0)
+#define _SET(X,Y) _fd->_##X=(___##X = (Y)) && __stdio_##X
 
 #define CBFUNC(X)					\
   void set_##X (mixed l##X)				\