diff --git a/.gitignore b/.gitignore
index 3cdca2152938333a3223f6997e309081df65f641..cffe7f52770e95b5210926db21f4fc4739ea36cd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -62,7 +62,6 @@ dlls/msxml3/msxml3_v1.tlb
 dlls/ole2.dll16
 dlls/ole2disp.dll16
 dlls/ole2nls.dll16
-dlls/ole2thk.dll16
 dlls/ole32/dcom.h
 dlls/ole32/dcom_p.c
 dlls/ole32/irot.h
diff --git a/configure b/configure
index eb429c4b005e1c347753a51604e3c5544e74d4d8..3db54ea4525844db155ca9cc05f5d5fc7aa21281 100755
--- a/configure
+++ b/configure
@@ -3913,6 +3913,7 @@ then
     enable_msacm_dll16=${enable_msacm_dll16:-no}
     enable_ole2conv_dll16=${enable_ole2conv_dll16:-no}
     enable_ole2prox_dll16=${enable_ole2prox_dll16:-no}
+    enable_ole2thk_dll16=${enable_ole2thk_dll16:-no}
     enable_olecli_dll16=${enable_olecli_dll16:-no}
     enable_olesvr_dll16=${enable_olesvr_dll16:-no}
     enable_stress_dll16=${enable_stress_dll16:-no}
@@ -26492,6 +26493,14 @@ 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/ole2thk.dll16/Makefile"
+test "x$enable_ole2thk_dll16" != xno && ALL_DLL_DIRS="$ALL_DLL_DIRS \\
+	ole2thk.dll16"
+ALL_MAKEFILE_DEPENDS="$ALL_MAKEFILE_DEPENDS
+dlls/ole2thk.dll16/Makefile: dlls/ole2thk.dll16/Makefile.in dlls/Makedll.rules"
+ac_config_files="$ac_config_files dlls/ole2thk.dll16/Makefile"
+
 ALL_MAKEFILES="$ALL_MAKEFILES \\
 	dlls/ole32/Makefile"
 test "x$enable_ole32" != xno && ALL_DLL_DIRS="$ALL_DLL_DIRS \\
@@ -29201,6 +29210,7 @@ do
     "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/ole2thk.dll16/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/ole2thk.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 e1167f1976ca7d57b471b74e3718ac79328eda33..a123504a4979bd8fc95c165f899b309a4615a4a2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -150,6 +150,7 @@ then
     enable_msacm_dll16=${enable_msacm_dll16:-no}
     enable_ole2conv_dll16=${enable_ole2conv_dll16:-no}
     enable_ole2prox_dll16=${enable_ole2prox_dll16:-no}
+    enable_ole2thk_dll16=${enable_ole2thk_dll16:-no}
     enable_olecli_dll16=${enable_olecli_dll16:-no}
     enable_olesvr_dll16=${enable_olesvr_dll16:-no}
     enable_stress_dll16=${enable_stress_dll16:-no}
@@ -2146,6 +2147,7 @@ WINE_CONFIG_MAKEFILE([dlls/odbccp32/Makefile],[dlls/Makedll.rules],[dlls],[ALL_D
 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/ole2thk.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 1b3e854451eab40bf9dc9337428eb1ada36f101f..d4f465ae4ad63e8d194cc701e0485416ea3e0fcf 100644
--- a/dlls/Makefile.in
+++ b/dlls/Makefile.in
@@ -32,7 +32,6 @@ WIN16_FILES = \
 	ole2.dll16 \
 	ole2disp.dll16 \
 	ole2nls.dll16 \
-	ole2thk.dll16 \
 	rasapi16.dll16 \
 	setupx.dll16 \
 	shell.dll16 \
@@ -83,7 +82,7 @@ krnl386.exe16 system.drv16 toolhelp.dll16:
 msvideo.dll16:
 	echo "msvfw32.dll" >$@
 
-compobj.dll16 ole2.dll16 ole2nls.dll16 ole2thk.dll16 storage.dll16:
+compobj.dll16 ole2.dll16 ole2nls.dll16 storage.dll16:
 	echo "ole32.dll" >$@
 
 ole2disp.dll16 typelib.dll16:
diff --git a/dlls/ole2thk.dll16/Makefile.in b/dlls/ole2thk.dll16/Makefile.in
new file mode 100644
index 0000000000000000000000000000000000000000..e558733b4ed021c17d1bb7eba8663b7f635dbfd6
--- /dev/null
+++ b/dlls/ole2thk.dll16/Makefile.in
@@ -0,0 +1,13 @@
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../..
+SRCDIR    = @srcdir@
+VPATH     = @srcdir@
+MODULE    = ole2thk.dll16
+IMPORTS   = kernel32
+EXTRADLLFLAGS = -Wb,--subsystem,win16,--main-module,ole32.dll
+
+SPEC_SRCS = ole2thk.dll16.spec
+
+@MAKE_DLL_RULES@
+
+@DEPENDENCIES@  # everything below this line is overwritten by make depend
diff --git a/dlls/ole32/ole2thk.spec b/dlls/ole2thk.dll16/ole2thk.dll16.spec
similarity index 100%
rename from dlls/ole32/ole2thk.spec
rename to dlls/ole2thk.dll16/ole2thk.dll16.spec
diff --git a/dlls/ole32/Makefile.in b/dlls/ole32/Makefile.in
index 2bdbad40455e948b9f3b95ee1f6abc85cdd21590..d3e8198c839c7f2cfd7997696ba05ad66ced0712 100644
--- a/dlls/ole32/Makefile.in
+++ b/dlls/ole32/Makefile.in
@@ -57,7 +57,6 @@ SPEC_SRCS16 = \
 	compobj.spec \
 	ole2.spec \
 	ole2nls.spec \
-	ole2thk.spec \
 	storage.spec
 
 RC_SRCS = ole32res.rc