fixes issue #1522237, bad init check in _threading_local
diff --git a/Lib/_threading_local.py b/Lib/_threading_local.py
index 6e8a8d8..b0edc03 100644
--- a/Lib/_threading_local.py
+++ b/Lib/_threading_local.py
@@ -154,7 +154,7 @@
         object.__setattr__(self, '_local__args', (args, kw))
         object.__setattr__(self, '_local__lock', RLock())
 
-        if args or kw and (cls.__init__ is object.__init__):
+        if (args or kw) and (cls.__init__ is object.__init__):
             raise TypeError("Initialization arguments are not supported")
 
         # We need to create the thread dict in anticipation of
diff --git a/Lib/test/test_threading_local.py b/Lib/test/test_threading_local.py
index f72119b..cd2bed9 100644
--- a/Lib/test/test_threading_local.py
+++ b/Lib/test/test_threading_local.py
@@ -106,6 +106,21 @@
 
         self.assertTrue(passed)
 
+    def test_arguments(self):
+        # Issue 1522237
+        from _thread import _local as local
+        from _threading_local import local as py_local
+
+        for cls in (local, py_local):
+            class MyLocal(cls):
+                def __init__(self, *args, **kwargs):
+                    pass
+
+            MyLocal(a=1)
+            MyLocal(1)
+            self.assertRaises(TypeError, cls, a=1)
+            self.assertRaises(TypeError, cls, 1)
+
 
 def test_main():
     suite = unittest.TestSuite()