diff --git a/librosa/util/decorators.py b/librosa/util/decorators.py
index <HASH>..<HASH> 100644
--- a/librosa/util/decorators.py
+++ b/librosa/util/decorators.py
@@ -5,8 +5,10 @@
 
 import warnings
 from decorator import decorator
+from functools import wraps
 import six
 
+__all__ = ['moved', 'deprecated', 'optional_jit']
 
 def moved(moved_from, version, version_removed):
     '''This is a decorator which can be used to mark functions
@@ -64,6 +66,18 @@ def deprecated(version, version_removed):
 try:
     from numba.decorators import jit as optional_jit
 except ImportError:
+    # Decorator with optional arguments borrowed from
+    # http://stackoverflow.com/a/10288927
+    def magical_decorator(decorator):
+        @wraps(decorator)
+        def inner(*args, **kw):
+            if len(args) == 1 and not kw and callable(args[0]):
+                return decorator()(args[0])
+            else:
+                return decorator(*args, **kw)
+        return inner
+
+    @magical_decorator
     def optional_jit(*_, **__):
         def __wrapper(func, *args, **kwargs):
             return func(*args, **kwargs)
fixed #<I>, added support for no-argument optional_jit