diff --git a/Lib/functools.py b/Lib/functools.py
index d5f4393..b3428a4 100644
--- a/Lib/functools.py
+++ b/Lib/functools.py
@@ -817,8 +817,13 @@
         return func
 
     def wrapper(*args, **kw):
+        if not args:
+            raise TypeError(f'{funcname} requires at least '
+                            '1 positional argument')
+
         return dispatch(args[0].__class__)(*args, **kw)
 
+    funcname = getattr(func, '__name__', 'singledispatch function')
     registry[object] = func
     wrapper.register = register
     wrapper.dispatch = dispatch
diff --git a/Lib/test/test_functools.py b/Lib/test/test_functools.py
index 7ffe000..f9f96ba 100644
--- a/Lib/test/test_functools.py
+++ b/Lib/test/test_functools.py
@@ -2305,6 +2305,13 @@
         ))
         self.assertTrue(str(exc.exception).endswith(msg_suffix))
 
+    def test_invalid_positional_argument(self):
+        @functools.singledispatch
+        def f(*args):
+            pass
+        msg = 'f requires at least 1 positional argument'
+        with self.assertRaisesRegexp(TypeError, msg):
+            f()
 
 if __name__ == '__main__':
     unittest.main()
