diff --git a/mingw-w64-crt/ChangeLog b/mingw-w64-crt/ChangeLog
index a9062cc..0f3e76d 100644
--- a/mingw-w64-crt/ChangeLog
+++ b/mingw-w64-crt/ChangeLog
@@ -1,3 +1,8 @@
+2012-07-10  Ozkan Sezer  <sezeroz@gmail.com>
+
+	* crt/tlsmthread.c: Removed leftovers of Win9X/Me mingwm10.dll
+	support.
+
 2012-07-06  Ozkan Sezer  <sezeroz@gmail.com>
 
 	* crt/tlssup.c: Removed Windows 9X/Me mingwm10.dll support.
diff --git a/mingw-w64-crt/crt/tlsmthread.c b/mingw-w64-crt/crt/tlsmthread.c
index c018abf..e98ca56 100644
--- a/mingw-w64-crt/crt/tlsmthread.c
+++ b/mingw-w64-crt/crt/tlsmthread.c
@@ -17,43 +17,17 @@
 extern int ___w64_mingwthr_remove_key_dtor (DWORD key);
 extern int ___w64_mingwthr_add_key_dtor (DWORD key, void (*dtor)(void *));
 
-
-#ifndef _WIN64
-#define MINGWM10_DLL "mingwm10.dll"
-typedef int (*fMTRemoveKeyDtor)(DWORD key);
-typedef int (*fMTKeyDtor)(DWORD key, void (*dtor)(void *));
-extern fMTRemoveKeyDtor __mingw_gMTRemoveKeyDtor;
-extern fMTKeyDtor __mingw_gMTKeyDtor;
-extern int __mingw_usemthread_dll;
-#endif
-
 int
 __mingwthr_remove_key_dtor (DWORD key)
 {
-#ifndef _WIN64
-  if (!__mingw_usemthread_dll)
-#endif
-     return ___w64_mingwthr_remove_key_dtor (key);
-#ifndef _WIN64
-  if (__mingw_gMTRemoveKeyDtor)
-    return (*__mingw_gMTRemoveKeyDtor) (key);
-  return 0;
-#endif
+   return ___w64_mingwthr_remove_key_dtor (key);
 }
 
 int
 __mingwthr_key_dtor (DWORD key, void (*dtor)(void *))
 {
   if (dtor)
-    {
-#ifndef _WIN64
-      if (!__mingw_usemthread_dll)
-#endif
-        return ___w64_mingwthr_add_key_dtor (key, dtor);
-#ifndef _WIN64
-      if (__mingw_gMTKeyDtor)
-	return (*__mingw_gMTKeyDtor) (key, dtor);
-#endif
-    }
+    return ___w64_mingwthr_add_key_dtor (key, dtor);
+
   return 0;
 }
diff --git a/mingw-w64-crt/revstamp.h b/mingw-w64-crt/revstamp.h
index b2b559f..9b39fd0 100644
--- a/mingw-w64-crt/revstamp.h
+++ b/mingw-w64-crt/revstamp.h
@@ -1,4 +1,4 @@
 /* Do not edit. Autogenerated.  */
-#define __MINGW_W64_REV	"5168"
-#define __MINGW_W64_REV_STAMP "2012-07-06"
+#define __MINGW_W64_REV	"5200"
+#define __MINGW_W64_REV_STAMP "2012-07-10"
 
