diff --git a/resolve/response.py b/resolve/response.py
index c9d66ee3a5910ed8efb30b39266ddcef7b7052b8..39790d787cfb24fc5fb2c219b357be27575d7ec3 100644
--- a/resolve/response.py
+++ b/resolve/response.py
@@ -111,7 +111,7 @@ class MfResponse(ift.LinearOperator):
         Contains the the :class:`nifty8.RGSpace` for the positions.
     """
 
-    def __init__( self, observation, frequency_domain, position_domain):
+    def __init__( self, observation, frequency_domain, position_domain, log_freq=False):
         my_assert_isinstance(observation, Observation)
         # FIXME Add polarization support
         my_assert(observation.npol in [1, 2])
@@ -123,7 +123,11 @@ class MfResponse(ift.LinearOperator):
         self._target = observation.vis.domain
         self._capability = self.TIMES | self.ADJOINT_TIMES
 
-        data_freq = observation.freq
+        if log_freq:
+            data_freq = np.log(observation.freq / observation.freq.mean())
+        else:
+            data_freq = observation.freq
+
         my_assert(np.all(np.diff(data_freq) > 0))
         sky_freq = np.array(frequency_domain.coordinates)
         band_indices = self.band_indices(sky_freq, data_freq)