Index: /branches/working-0711/ccl/level-1/l1-sysio.lisp
===================================================================
--- /branches/working-0711/ccl/level-1/l1-sysio.lisp	(revision 8216)
+++ /branches/working-0711/ccl/level-1/l1-sysio.lisp	(revision 8217)
@@ -773,5 +773,6 @@
 	      (return-from open nil)))
 	  (if (setq filename (if-does-not-exist if-does-not-exist filename))
-	    (setq native-truename (%create-file filename))
+	    (unless (setq native-truename (%create-file filename :if-exists if-exists ))
+              (return-from open nil))
 	    (return-from open nil)))
 	(let* ((fd (fd-open native-truename (case direction
