diff --git a/twisted/python/runtime.py b/twisted/python/runtime.py
index da078bf..c54a0c3 100644
--- a/twisted/python/runtime.py
+++ b/twisted/python/runtime.py
@@ -9,6 +9,8 @@ import sys
 import time
 import imp
 
+from twisted.python import compat
+
 
 
 def shortPythonVersion():
@@ -73,12 +75,17 @@ class Platform:
     def isWinNT(self):
         """Are we running in Windows NT?"""
         if self.getType() == 'win32':
-            import _winreg
+            # Python 3.x changed this module's name. 
+            winreg = None
+            if compat._PY3:
+                import winreg as winreg
+            else:
+                import _winreg as winreg
             try:
-                k = _winreg.OpenKeyEx(
-                        _winreg.HKEY_LOCAL_MACHINE,
+                k = winreg.OpenKeyEx(
+                        winreg.HKEY_LOCAL_MACHINE,
                         r'Software\Microsoft\Windows NT\CurrentVersion')
-                _winreg.QueryValueEx(k, 'SystemRoot')
+                winreg.QueryValueEx(k, 'SystemRoot')
                 return 1
             except WindowsError:
                 return 0
@@ -113,11 +120,13 @@ class Platform:
         return self._platform.startswith("linux")
 
 
+    # Python 3.x changed this module's name. 
+    _thread_module_name = "_thread" if compat._PY3 else "thread"
     def supportsThreads(self):
         """Can threads be created?
         """
         try:
-            return imp.find_module('thread')[0] is None
+            return imp.find_module(self._thread_module_name)[0] is None
         except ImportError:
             return False
 
diff --git a/twisted/python/test/test_runtime.py b/twisted/python/test/test_runtime.py
index 4c94fb5..5646fe4 100644
--- a/twisted/python/test/test_runtime.py
+++ b/twisted/python/test/test_runtime.py
@@ -6,9 +6,16 @@ Tests for runtime checks.
 """
 
 import sys
+from unittest import TestCase
 
 from twisted.python.runtime import Platform, shortPythonVersion
-from twisted.trial.unittest import TestCase
+## from twisted.trial.unittest import TestCase
+
+# TODO: Once trial is ported to Python 3.x these tests should start using it 
+# again. Until then, use the standard Python unittesting framework.
+# To do this, uncomment the line above that imports TestCase from trial, and 
+# delete the line that imports TestCase from unittest.
+# Ticket #5919
 
 
 
@@ -64,6 +71,18 @@ class PlatformTests(TestCase):
             self.assertTrue(sys.platform.startswith("linux"))
 
 
+    def test_isWinNT(self): 
+        """ 
+        L{Platform.isWinNT}'s can return only C{0} or C{1} and can not
+        return C{1} if L{Platform.getType} is not C{"win32"}.
+        """ 
+        platform = Platform() 
+        isWinNT = platform.isWinNT()
+        self.assertIn(isWinNT, (0, 1))
+        if platform.getType() != "win32":
+            self.assertEqual(isWinNT, 0)
+
+
 
 class ForeignPlatformTests(TestCase):
     """
