diff --git a/nifty5/field.py b/nifty5/field.py
index 524a4f49f53e0c1dfae4f5b4c67e833705107395..a79a972b5181819556b1da3aaf3c854bb0b87f3b 100644
--- a/nifty5/field.py
+++ b/nifty5/field.py
@@ -675,3 +675,9 @@ for f in ["sqrt", "exp", "log", "tanh"]:
             return Field(self._domain, getattr(dobj, f)(self.val))
         return func2
     setattr(Field, f, func(f))
+
+
+def func2(self):
+    np.clip(self.val, -300, 300, out=self.val)
+    return Field(self._domain, getattr(dobj, 'exp')(self.val))
+setattr(Field, 'clipped_exp', func2)
diff --git a/nifty5/linearization.py b/nifty5/linearization.py
index ba82df0ea26c47820e1c5d35158182f95b31326a..1ba1022cc67a2202889bad84f2d38914cdebc703 100644
--- a/nifty5/linearization.py
+++ b/nifty5/linearization.py
@@ -176,6 +176,10 @@ class Linearization(object):
         tmp = self._val.exp()
         return self.new(tmp, makeOp(tmp)(self._jac))
 
+    def clipped_exp(self):
+        tmp = self._val.clipped_exp()
+        return self.new(tmp, makeOp(tmp)(self._jac))
+
     def log(self):
         tmp = self._val.log()
         return self.new(tmp, makeOp(1./self._val)(self._jac))
diff --git a/nifty5/operators/operator.py b/nifty5/operators/operator.py
index 1165c02d42f358f84eb53c0106172a7f6e8c91f0..7cedd9df0e3de68fee629747e3b9444c6ee55e29 100644
--- a/nifty5/operators/operator.py
+++ b/nifty5/operators/operator.py
@@ -88,7 +88,7 @@ class Operator(NiftyMetaBase()):
         return self.__class__.__name__
 
 
-for f in ["sqrt", "exp", "log", "tanh", "positive_tanh"]:
+for f in ["sqrt", "exp", "log", "tanh", "positive_tanh", 'clipped_exp']:
     def func(f):
         def func2(self):
             fa = _FunctionApplier(self.target, f)