diff --git a/.gitignore b/.gitignore
index 6a808dab1c2828de7008a0fa5a176df824f1756e..3cdca2152938333a3223f6997e309081df65f641 100644
--- a/.gitignore
+++ b/.gitignore
@@ -62,7 +62,6 @@ dlls/msxml3/msxml3_v1.tlb
 dlls/ole2.dll16
 dlls/ole2disp.dll16
 dlls/ole2nls.dll16
-dlls/ole2prox.dll16
 dlls/ole2thk.dll16
 dlls/ole32/dcom.h
 dlls/ole32/dcom_p.c
diff --git a/configure b/configure
index e826699ec8223b6d0408720a355f2b8533e67c9d..eb429c4b005e1c347753a51604e3c5544e74d4d8 100755
--- a/configure
+++ b/configure
@@ -3912,6 +3912,7 @@ then
     enable_mouse_drv16=${enable_mouse_drv16:-no}
     enable_msacm_dll16=${enable_msacm_dll16:-no}
     enable_ole2conv_dll16=${enable_ole2conv_dll16:-no}
+    enable_ole2prox_dll16=${enable_ole2prox_dll16:-no}
     enable_olecli_dll16=${enable_olecli_dll16:-no}
     enable_olesvr_dll16=${enable_olesvr_dll16:-no}
     enable_stress_dll16=${enable_stress_dll16:-no}
@@ -26483,6 +26484,14 @@ ALL_MAKEFILE_DEPENDS="$ALL_MAKEFILE_DEPENDS
 dlls/ole2conv.dll16/Makefile: dlls/ole2conv.dll16/Makefile.in dlls/Makedll.rules"
 ac_config_files="$ac_config_files dlls/ole2conv.dll16/Makefile"
 
+ALL_MAKEFILES="$ALL_MAKEFILES \\
+	dlls/ole2prox.dll16/Makefile"
+test "x$enable_ole2prox_dll16" != xno && ALL_DLL_DIRS="$ALL_DLL_DIRS \\
+	ole2prox.dll16"
+ALL_MAKEFILE_DEPENDS="$ALL_MAKEFILE_DEPENDS
+dlls/ole2prox.dll16/Makefile: dlls/ole2prox.dll16/Makefile.in dlls/Makedll.rules"
+ac_config_files="$ac_config_files dlls/ole2prox.dll16/Makefile"
+
 ALL_MAKEFILES="$ALL_MAKEFILES \\
 	dlls/ole32/Makefile"
 test "x$enable_ole32" != xno && ALL_DLL_DIRS="$ALL_DLL_DIRS \\
@@ -29191,6 +29200,7 @@ do
     "dlls/odbccp32/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/odbccp32/Makefile" ;;
     "dlls/odbccp32/tests/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/odbccp32/tests/Makefile" ;;
     "dlls/ole2conv.dll16/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/ole2conv.dll16/Makefile" ;;
+    "dlls/ole2prox.dll16/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/ole2prox.dll16/Makefile" ;;
     "dlls/ole32/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/ole32/Makefile" ;;
     "dlls/ole32/tests/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/ole32/tests/Makefile" ;;
     "dlls/oleacc/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/oleacc/Makefile" ;;
diff --git a/configure.ac b/configure.ac
index 584f43c2f5930001bef84c473f74053d14fe4f03..e1167f1976ca7d57b471b74e3718ac79328eda33 100644
--- a/configure.ac
+++ b/configure.ac
@@ -149,6 +149,7 @@ then
     enable_mouse_drv16=${enable_mouse_drv16:-no}
     enable_msacm_dll16=${enable_msacm_dll16:-no}
     enable_ole2conv_dll16=${enable_ole2conv_dll16:-no}
+    enable_ole2prox_dll16=${enable_ole2prox_dll16:-no}
     enable_olecli_dll16=${enable_olecli_dll16:-no}
     enable_olesvr_dll16=${enable_olesvr_dll16:-no}
     enable_stress_dll16=${enable_stress_dll16:-no}
@@ -2144,6 +2145,7 @@ WINE_CONFIG_MAKEFILE([dlls/odbc32/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL
 WINE_CONFIG_MAKEFILE([dlls/odbccp32/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
 WINE_CONFIG_MAKEFILE([dlls/odbccp32/tests/Makefile],[dlls/Maketest.rules],[dlls],[ALL_TEST_DIRS],[enable_tests])
 WINE_CONFIG_MAKEFILE([dlls/ole2conv.dll16/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
+WINE_CONFIG_MAKEFILE([dlls/ole2prox.dll16/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
 WINE_CONFIG_MAKEFILE([dlls/ole32/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
 WINE_CONFIG_MAKEFILE([dlls/ole32/tests/Makefile],[dlls/Maketest.rules],[dlls],[ALL_TEST_DIRS],[enable_tests])
 WINE_CONFIG_MAKEFILE([dlls/oleacc/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
diff --git a/dlls/Makefile.in b/dlls/Makefile.in
index d3dcf3f54616acdba4b3882f11ddd24dd4f9fd22..1b3e854451eab40bf9dc9337428eb1ada36f101f 100644
--- a/dlls/Makefile.in
+++ b/dlls/Makefile.in
@@ -32,7 +32,6 @@ WIN16_FILES = \
 	ole2.dll16 \
 	ole2disp.dll16 \
 	ole2nls.dll16 \
-	ole2prox.dll16 \
 	ole2thk.dll16 \
 	rasapi16.dll16 \
 	setupx.dll16 \
@@ -84,7 +83,7 @@ krnl386.exe16 system.drv16 toolhelp.dll16:
 msvideo.dll16:
 	echo "msvfw32.dll" >$@
 
-compobj.dll16 ole2.dll16 ole2nls.dll16 ole2prox.dll16 ole2thk.dll16 storage.dll16:
+compobj.dll16 ole2.dll16 ole2nls.dll16 ole2thk.dll16 storage.dll16:
 	echo "ole32.dll" >$@
 
 ole2disp.dll16 typelib.dll16:
diff --git a/dlls/ole2prox.dll16/Makefile.in b/dlls/ole2prox.dll16/Makefile.in
new file mode 100644
index 0000000000000000000000000000000000000000..b0f2a2d00ba83c32b51e0b05fa27a877bf78e104
--- /dev/null
+++ b/dlls/ole2prox.dll16/Makefile.in
@@ -0,0 +1,13 @@
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../..
+SRCDIR    = @srcdir@
+VPATH     = @srcdir@
+MODULE    = ole2prox.dll16
+IMPORTS   = kernel32
+EXTRADLLFLAGS = -Wb,--subsystem,win16,--main-module,ole32.dll
+
+SPEC_SRCS = ole2prox.dll16.spec
+
+@MAKE_DLL_RULES@
+
+@DEPENDENCIES@  # everything below this line is overwritten by make depend
diff --git a/dlls/ole32/ole2prox.spec b/dlls/ole2prox.dll16/ole2prox.dll16.spec
similarity index 100%
rename from dlls/ole32/ole2prox.spec
rename to dlls/ole2prox.dll16/ole2prox.dll16.spec
diff --git a/dlls/ole32/Makefile.in b/dlls/ole32/Makefile.in
index ccdd8c345ef9b606f22463a159222b92ea177ee8..2bdbad40455e948b9f3b95ee1f6abc85cdd21590 100644
--- a/dlls/ole32/Makefile.in
+++ b/dlls/ole32/Makefile.in
@@ -57,7 +57,6 @@ SPEC_SRCS16 = \
 	compobj.spec \
 	ole2.spec \
 	ole2nls.spec \
-	ole2prox.spec \
 	ole2thk.spec \
 	storage.spec