diff --git a/dependencies/_operation.py b/dependencies/_operation.py
index <HASH>..<HASH> 100644
--- a/dependencies/_operation.py
+++ b/dependencies/_operation.py
@@ -6,6 +6,8 @@ from .exceptions import DependencyError
 def operation(function):
     """FIXME: Write a docstring."""
 
+    if inspect.isclass(function):
+        raise DependencyError("'operation' decorator can not be used on classes")
     __init__ = make_init(function)
     return type("Operation", (object,), {"__init__": __init__, "__call__": __call__})
 
diff --git a/tests/test_operation.py b/tests/test_operation.py
index <HASH>..<HASH> 100644
--- a/tests/test_operation.py
+++ b/tests/test_operation.py
@@ -31,6 +31,21 @@ def test_protect_against_self():
     assert str(exc_info.value) == "'operation' decorator can not be used on methods"
 
 
+def test_protect_against_classes():
+    """
+    Deny to decorate classes with operation.  Classes are injectable
+    itself.
+    """
+
+    with pytest.raises(DependencyError) as exc_info:
+
+        @operation
+        class Foo(object):
+            pass
+
+    assert str(exc_info.value) == "'operation' decorator can not be used on classes"
+
+
 # TODO: Raise exception if we try to decorate a class.
 #
 # TODO: Operation representation with the name of the function.
Deny operation decorator against classes.