diff --git a/loader/module.c b/loader/module.c
index 9d905e6217d8b2b940c8ef6274054994d8c8f404..ec69928e11091933affbd95bdc3390a4e9018d47 100644
--- a/loader/module.c
+++ b/loader/module.c
@@ -1255,26 +1255,25 @@ HMODULE WINAPI LoadLibraryExA(LPCSTR libname, HANDLE hfile, DWORD flags)
         if (flags & LOAD_LIBRARY_AS_DATAFILE)
         {
             char filename[256];
-            HANDLE hFile;
             HMODULE hmod = 0;
 
             /* This method allows searching for the 'native' libraries only */
-            if (!SearchPathA( NULL, libname, ".dll", sizeof(filename), filename, NULL ))
+            if (SearchPathA( NULL, libname, ".dll", sizeof(filename), filename, NULL ))
             {
-                flags |= DONT_RESOLVE_DLL_REFERENCES; /* Just in case */
-                goto try_builtin; /* Fallback to normal behaviour */
-            }
-            /* FIXME: maybe we should use the hfile parameter instead */
-            hFile = CreateFileA( filename, GENERIC_READ, FILE_SHARE_READ,
-                                 NULL, OPEN_EXISTING, 0, 0 );
-            if (hFile != INVALID_HANDLE_VALUE)
-            {
-                hmod = PE_LoadImage( hFile, filename, flags );
-                CloseHandle( hFile );
+                /* FIXME: maybe we should use the hfile parameter instead */
+                HANDLE hFile = CreateFileA( filename, GENERIC_READ, FILE_SHARE_READ,
+                                            NULL, OPEN_EXISTING, 0, 0 );
+                if (hFile != INVALID_HANDLE_VALUE)
+                {
+                    hmod = PE_LoadImage( hFile, filename, flags );
+                    CloseHandle( hFile );
+                }
+                if (hmod) return hmod;
             }
-            return hmod;
+            flags |= DONT_RESOLVE_DLL_REFERENCES; /* Just in case */
+            /* Fallback to normal behaviour */
         }
- try_builtin:
+
         RtlAcquirePebLock();
 
 	wm = MODULE_LoadLibraryExA( libname, hfile, flags );