diff --git a/icontract/__init__.py b/icontract/__init__.py
index <HASH>..<HASH> 100644
--- a/icontract/__init__.py
+++ b/icontract/__init__.py
@@ -246,7 +246,8 @@ class post:  # pylint: disable=invalid-name
             result = func(*args, **kwargs)
 
             # Add the special ``result`` argument
-            condition_kwargs["result"] = result
+            if "result" in self._condition_arg_set:
+                condition_kwargs["result"] = result
 
             check = self.condition(**condition_kwargs)
result given to postcondition only if necessary