diff --git a/files/file.c b/files/file.c
index a9cedb320c2674d000a12674970f8d378507793a..9c8d11554cba2d8b1b4716806f39c5eaa7bf7ce9 100644
--- a/files/file.c
+++ b/files/file.c
@@ -434,7 +434,8 @@ HANDLE WINAPI CreateFileA( LPCSTR filename, DWORD access, DWORD sharing,
         if(!strncasecmp(&filename[4],"pipe\\",5))
         {
             TRACE("Opening a pipe: %s\n",filename);
-            return FILE_OpenPipe(filename,access);
+            ret = FILE_OpenPipe(filename,access);
+            goto done;
         }
         else if (!DOSFS_GetDevice( filename ))
         {