diff --git a/if1632/user.spec b/if1632/user.spec
index 6edf61d778e6b8baa27b9f9aad2ce96b41712bb5..d6cfe1a0d85f50ee11313da63779ad60b88e151a 100644
--- a/if1632/user.spec
+++ b/if1632/user.spec
@@ -349,6 +349,7 @@ file	user.exe
 371 pascal16 SetWindowPlacement(word ptr) SetWindowPlacement16
 372 stub GetInternalIconHeader
 373 pascal16 SubtractRect(ptr ptr ptr) SubtractRect16
+374 pascal DllEntryPoint(long word word word long word) USER_DllEntryPoint
 375 stub DrawTextEx
 376 stub SetMessageExtraInfo
 378 stub SetPropEx
diff --git a/windows/user.c b/windows/user.c
index bda9b03fd6f9d6c667bb829705655d82f87682c0..fc3e1b6c6ab2e65c0fd134d0702a989247c4ab0e 100644
--- a/windows/user.c
+++ b/windows/user.c
@@ -258,6 +258,28 @@ WORD WINAPI UserSignalProc( UINT uCode, DWORD dwThreadOrProcessID,
     return 0;
 }
 
+/***********************************************************************
+ *           USER_DllEntryPoint  (USER.374)
+ */
+BOOL WINAPI USER_DllEntryPoint( DWORD dwReason, HINSTANCE hInstDLL, WORD ds,
+                                WORD wHeapSize, DWORD dwReserved1, WORD wReserved2 )
+{
+    switch ( dwReason )
+    {
+    case DLL_PROCESS_ATTACH:
+        /* 
+         * We need to load the 32-bit library so as to be able
+         * to access the system resources stored there!
+         */
+        if ( !LoadLibraryA("USER32.DLL") )
+        {
+            ERR_(win)( "Could not load USER32.DLL\n" );
+            return FALSE;
+        }
+    }
+
+    return TRUE;
+}
 
 
 /***********************************************************************