diff --git a/src/ChangeLog b/src/ChangeLog
index f29dd261..28eb25d2 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2005-03-06  Hrvoje Niksic  <hniksic@xemacs.org>
+
+	* utils.c (fopen_excl): Fix parse error when O_BINARY is
+	available.
+
 2005-03-05  Hrvoje Niksic  <hniksic@xemacs.org>
 
 	* url.c (url_file_name): Don't allow hosts named ".." to be
diff --git a/src/utils.c b/src/utils.c
index 0fe30bfd..81c0d36b 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -511,13 +511,14 @@ unique_create (const char *name, int binary, char **opened_name)
 FILE *
 fopen_excl (const char *fname, int binary)
 {
+  int fd;
 #ifdef O_EXCL
   int flags = O_WRONLY | O_CREAT | O_EXCL;
 # ifdef O_BINARY
   if (binary)
-    flags |= O_BINARY
+    flags |= O_BINARY;
 # endif
-  int fd = open (fname, flags, 0666);
+  fd = open (fname, flags, 0666);
   if (fd < 0)
     return NULL;
   return fdopen (fd, binary ? "wb" : "w");