diff --git a/nifty5/__init__.py b/nifty5/__init__.py
index 158419afd43948730d7c639ebdfe2c2f9d60bc88..8c58de18810230d5a46e50bdaa4c03bd69501e65 100644
--- a/nifty5/__init__.py
+++ b/nifty5/__init__.py
@@ -11,7 +11,6 @@ from .domains.gl_space import GLSpace
 from .domains.hp_space import HPSpace
 from .domains.power_space import PowerSpace
 from .domains.dof_space import DOFSpace
-from .domains.log_rg_space import LogRGSpace
 
 from .domain_tuple import DomainTuple
 from .multi_domain import MultiDomain
@@ -26,7 +25,6 @@ from .operators.domain_tuple_field_inserter import DomainTupleFieldInserter
 from .operators.contraction_operator import ContractionOperator
 from .operators.linear_interpolation import LinearInterpolator
 from .operators.endomorphic_operator import EndomorphicOperator
-from .operators.exp_transform import ExpTransform
 from .operators.harmonic_operators import (
     FFTOperator, HartleyOperator, SHTOperator, HarmonicTransformOperator,
     HarmonicSmoothingOperator)
@@ -34,13 +32,10 @@ from .operators.field_zero_padder import FieldZeroPadder
 from .operators.inversion_enabler import InversionEnabler
 from .operators.linear_operator import LinearOperator
 from .operators.mask_operator import MaskOperator
-from .operators.qht_operator import QHTOperator
 from .operators.regridding_operator import RegriddingOperator
 from .operators.sampling_enabler import SamplingEnabler
 from .operators.sandwich_operator import SandwichOperator
 from .operators.scaling_operator import ScalingOperator
-from .operators.slope_operator import SlopeOperator
-from .operators.symmetrizing_operator import SymmetrizingOperator
 from .operators.block_diagonal_operator import BlockDiagonalOperator
 from .operators.outer_product_operator import OuterProduct
 from .operators.simple_linear_operators import (
diff --git a/nifty5/domains/log_rg_space.py b/nifty5/domains/log_rg_space.py
deleted file mode 100644
index 8b9c6095c0a503206bd80caa62aa9ff8f59b7f2f..0000000000000000000000000000000000000000
--- a/nifty5/domains/log_rg_space.py
+++ /dev/null
@@ -1,146 +0,0 @@
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-#
-# Copyright(C) 2013-2019 Max-Planck-Society
-#
-# NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik.
-
-from functools import reduce
-
-import numpy as np
-
-from ..field import Field
-from .structured_domain import StructuredDomain
-
-
-class LogRGSpace(StructuredDomain):
-    '''Represents a logarithmic Cartesian grid.
-
-    Parameters
-    ----------
-    shape : int or tuple of int
-        Number of grid points or numbers of gridpoints along each axis.
-    bindistances : float or tuple of float
-        Logarithmic distance between two grid points along each axis.
-        Equidistant spacing of bins on logarithmic scale is assumed.
-    t_0 : float or tuple of float
-        Coordinate of pixel ndim*(1,).
-    harmonic : bool, optional
-        Whether the space represents a grid in position or harmonic space.
-        Default: False.
-    '''
-    _needed_for_hash = ['_shape', '_bindistances', '_t_0', '_harmonic']
-
-    def __init__(self, shape, bindistances, t_0, harmonic=False):
-        self._harmonic = bool(harmonic)
-
-        if np.isscalar(shape):
-            shape = (shape,)
-        self._shape = tuple(int(i) for i in shape)
-
-        self._bindistances = tuple(bindistances)
-        self._t_0 = tuple(t_0)
-        if min(self._bindistances) <= 0:
-            raise ValueError('Non-positive bindistances encountered')
-
-        self._dim = int(reduce(lambda x, y: x*y, self._shape))
-        self._dvol = float(reduce(lambda x, y: x*y, self._bindistances))
-
-    @property
-    def harmonic(self):
-        return self._harmonic
-
-    @property
-    def shape(self):
-        return self._shape
-
-    @property
-    def scalar_dvol(self):
-        return self._dvol
-
-    @property
-    def bindistances(self):
-        return np.array(self._bindistances)
-
-    @property
-    def size(self):
-        return np.prod(self._shape)
-
-    @property
-    def t_0(self):
-        """np.ndarray : array of coordinates of pixel ndim*(1,)."""
-        return np.array(self._t_0)
-
-    def __repr__(self):
-        return ("LogRGSpace(shape={}, bindistances={}, t_0={}, harmonic={})".format(
-            self.shape, self.bindistances, self.t_0, self.harmonic))
-
-    def get_default_codomain(self):
-        """Returns a :class:`LogRGSpace` object representing the (position or
-        harmonic) partner domain of `self`, depending on `self.harmonic`. The
-        `bindistances` are transformed and `t_0` stays the same.
-
-        Returns
-        -------
-        LogRGSpace
-            The partner domain
-        """
-        codomain_bindistances = 1./(self.bindistances*self.shape)
-        return LogRGSpace(self.shape, codomain_bindistances, self._t_0, not self.harmonic)
-
-    def get_k_length_array(self):
-        """Generates array of distances to origin of the space.
-
-        Returns
-        -------
-        numpy.ndarray
-            Distances to origin of the space. If any index of the array is
-            zero then the distance is np.nan if self.harmonic True.
-            The dtype is float64, the shape is `self.shape`.
-
-        Raises
-        ------
-        NotImplementedError
-            If `self.harmonic` is False.
-        """
-        if not self.harmonic:
-            raise NotImplementedError
-        ks = self.get_k_array()
-        return Field.from_global_data(self, np.linalg.norm(ks, axis=0))
-
-    def get_k_array(self):
-        """Generates coordinates of the space.
-
-        Returns
-        -------
-        numpy.ndarray
-            Coordinates of the space. If one index of the array is zero the
-            corresponding coordinate is -np.inf (np.nan) if self.harmonic is
-            False (True).
-            The dtype is float64 and shape: `(len(self.shape),) + self.shape`.
-        """
-        ndim = len(self.shape)
-        k_array = np.zeros((ndim,) + self.shape)
-        dist = self.bindistances
-        for i in range(ndim):
-            ks = np.zeros(self.shape[i])
-            ks[1:] = np.minimum(self.shape[i] - 1 - np.arange(self.shape[i]-1),
-                                np.arange(self.shape[i]-1)) * dist[i]
-            if self.harmonic:
-                ks[0] = np.nan
-            else:
-                ks[0] = -np.inf
-                ks[1:] += self.t_0[i]
-            k_array[i] += ks.reshape((1,)*i + (self.shape[i],)
-                                     + (1,)*(ndim-i-1))
-        return k_array
diff --git a/nifty5/operators/exp_transform.py b/nifty5/operators/exp_transform.py
deleted file mode 100644
index 47e0c7c97a6d629f7cd6cd05e9bb6303dd098200..0000000000000000000000000000000000000000
--- a/nifty5/operators/exp_transform.py
+++ /dev/null
@@ -1,128 +0,0 @@
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-#
-# Copyright(C) 2013-2019 Max-Planck-Society
-#
-# NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik.
-
-import numpy as np
-
-from .. import dobj
-from ..domain_tuple import DomainTuple
-from ..domains.power_space import PowerSpace
-from ..domains.rg_space import RGSpace
-from ..field import Field
-from ..utilities import infer_space, special_add_at
-from .linear_operator import LinearOperator
-
-
-class ExpTransform(LinearOperator):
-    """Transforms log-space to target
-
-    This operator creates a log-space subject to the degrees of freedom and
-    and its target-domain.
-    Then it transforms between this log-space and its target, which is defined
-    in normal units.
-
-    FIXME Write something on t_0 of domain space
-
-    E.g: A field in log-log-space can be transformed into log-norm-space,
-         that is the y-axis stays logarithmic, but the x-axis is transformed.
-
-    Parameters
-    ----------
-    target : domain, tuple of domains or DomainTuple
-        The full output domain
-    dof : int
-        The degrees of freedom of the log-domain, i.e. the number of bins.
-    """
-    def __init__(self, target, dof, space=0):
-        self._target = DomainTuple.make(target)
-        self._capability = self.TIMES | self.ADJOINT_TIMES
-        self._space = infer_space(self._target, space)
-        tgt = self._target[self._space]
-        if not ((isinstance(tgt, RGSpace) and tgt.harmonic) or
-                isinstance(tgt, PowerSpace)):
-            raise ValueError(
-                "Target must be a harmonic RGSpace or a power space.")
-
-        ndim = len(tgt.shape)
-        if np.isscalar(dof):
-            dof = np.full(ndim, int(dof), dtype=np.int)
-        dof = np.array(dof)
-
-        t_mins = np.empty(ndim)
-        bindistances = np.empty(ndim)
-        self._bindex = [None] * ndim
-        self._frac = [None] * ndim
-
-        for i in range(ndim):
-            if isinstance(tgt, RGSpace):
-                rng = np.arange(tgt.shape[i])
-                tmp = np.minimum(rng, tgt.shape[i]+1-rng)
-                k_array = tmp * tgt.distances[i]
-            else:
-                k_array = tgt.k_lengths
-
-            # avoid taking log of first entry
-            log_k_array = np.log(k_array[1:])
-
-            # Interpolate log_k_array linearly
-            t_max = np.max(log_k_array)
-            t_min = np.min(log_k_array)
-
-            # Save t_min for later
-            t_mins[i] = t_min
-
-            bindistances[i] = (t_max-t_min) / (dof[i]-1)
-            coord = np.append(0., 1. + (log_k_array-t_min) / bindistances[i])
-            self._bindex[i] = np.floor(coord).astype(int)
-
-            # Interpolated value is computed via
-            # (1.-frac)*<value from this bin> + frac*<value from next bin>
-            # 0 <= frac < 1.
-            self._frac[i] = coord - self._bindex[i]
-
-        from ..domains.log_rg_space import LogRGSpace
-        log_space = LogRGSpace(2*dof+1, bindistances,
-                               t_mins, harmonic=False)
-        self._domain = [dom for dom in self._target]
-        self._domain[self._space] = log_space
-        self._domain = DomainTuple.make(self._domain)
-
-    def apply(self, x, mode):
-        self._check_input(x, mode)
-        v = x.val
-        ndim = len(self.target.shape)
-        curshp = list(self._dom(mode).shape)
-        tgtshp = self._tgt(mode).shape
-        d0 = self._target.axes[self._space][0]
-        for d in self._target.axes[self._space]:
-            idx = (slice(None),) * d
-            wgt = self._frac[d-d0].reshape((1,)*d + (-1,) + (1,)*(ndim-d-1))
-
-            v, x = dobj.ensure_not_distributed(v, (d,))
-
-            if mode == self.ADJOINT_TIMES:
-                shp = list(x.shape)
-                shp[d] = tgtshp[d]
-                xnew = np.zeros(shp, dtype=x.dtype)
-                xnew = special_add_at(xnew, d, self._bindex[d-d0], x*(1.-wgt))
-                xnew = special_add_at(xnew, d, self._bindex[d-d0]+1, x*wgt)
-            else:  # TIMES
-                xnew = x[idx + (self._bindex[d-d0],)] * (1.-wgt)
-                xnew += x[idx + (self._bindex[d-d0]+1,)] * wgt
-
-            curshp[d] = xnew.shape[d]
-            v = dobj.from_local_data(curshp, xnew, distaxis=dobj.distaxis(v))
-        return Field(self._tgt(mode), dobj.ensure_default_distributed(v))
diff --git a/nifty5/operators/qht_operator.py b/nifty5/operators/qht_operator.py
deleted file mode 100644
index ac8f5b52c2371b471da96479a8c9835f46342d91..0000000000000000000000000000000000000000
--- a/nifty5/operators/qht_operator.py
+++ /dev/null
@@ -1,72 +0,0 @@
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-#
-# Copyright(C) 2013-2019 Max-Planck-Society
-#
-# NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik.
-
-from .. import dobj
-from .. import fft
-from ..domain_tuple import DomainTuple
-from ..field import Field
-from ..utilities import infer_space
-from .linear_operator import LinearOperator
-
-
-class QHTOperator(LinearOperator):
-    """Does a Hartley transform on LogRGSpace
-
-    This operator takes a field on a LogRGSpace and performs a Hartley
-    transform. The zero modes are not transformed because they are infinitely
-    far away in LogRGSpaces.
-
-    Parameters
-    ----------
-    target : domain, tuple of domains or DomainTuple
-        The full output domain
-    space : int
-        The index of the domain on which the operator acts.
-        target[space] must be a non-harmonic LogRGSpace.
-    codomain : Domain
-        The codomain for target[space]. If not supplied, it is inferred.
-    """
-
-    def __init__(self, target, space=0, codomain=None):
-        self._target = DomainTuple.make(target)
-        self._space = infer_space(self._target, space)
-
-        from ..domains.log_rg_space import LogRGSpace
-        if not isinstance(self._target[self._space], LogRGSpace):
-            raise ValueError("target[space] has to be a LogRGSpace!")
-
-        if self._target[self._space].harmonic:
-            raise TypeError("target[space] must be a nonharmonic space")
-
-        self._domain = [dom for dom in self._target]
-        if codomain is None:
-            codomain = self._target[self._space].get_default_codomain()
-        self._domain[self._space] = codomain
-        self._domain = DomainTuple.make(self._domain)
-        self._capability = self.TIMES | self.ADJOINT_TIMES
-
-    def apply(self, x, mode):
-        self._check_input(x, mode)
-        dom = self._domain[self._space]
-        v = x.val * dom.scalar_dvol
-        n = self._domain.axes[self._space]
-        rng = n if mode == self.TIMES else reversed(n)
-        for i in rng:
-            sl = (slice(None),)*i + (slice(1, None),)
-            v, tmp = dobj.ensure_not_distributed(v, (i,))
-            tmp[sl] = fft.hartley(tmp[sl], axes=(i,))
-        return Field(self._tgt(mode), dobj.ensure_default_distributed(v))
diff --git a/nifty5/operators/slope_operator.py b/nifty5/operators/slope_operator.py
deleted file mode 100644
index c9486e488f18ecf085878338b42d34753c8bdf89..0000000000000000000000000000000000000000
--- a/nifty5/operators/slope_operator.py
+++ /dev/null
@@ -1,67 +0,0 @@
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-#
-# Copyright(C) 2013-2019 Max-Planck-Society
-#
-# NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik.
-
-import numpy as np
-
-from ..domain_tuple import DomainTuple
-from ..domains.log_rg_space import LogRGSpace
-from ..domains.unstructured_domain import UnstructuredDomain
-from ..field import Field
-from .linear_operator import LinearOperator
-
-
-class SlopeOperator(LinearOperator):
-    """Evaluates a line on a LogRGSpace given slope and y-intercept
-
-    Slope and y-intercept of this line are the two parameters which are
-    defined on an UnstructeredDomain (in this order) which is the domain of
-    the operator. Being a LogRGSpace instance each pixel has a well-defined
-    coordinate value.
-
-    The y-intercept is defined to be the value at t_0 of the target.
-
-    Parameters
-    ----------
-    target : LogRGSpace
-        The target of the operator which needs to be one-dimensional.
-    """
-
-    def __init__(self, target):
-        self._target = DomainTuple.make(target)
-        if len(self._target) > 1:
-            raise TypeError
-        if len(self._target[0].shape) > 1:
-            raise TypeError
-        if not isinstance(self._target[0], LogRGSpace):
-            raise TypeError
-        self._domain = DomainTuple.make(UnstructuredDomain((2,)))
-        self._capability = self.TIMES | self.ADJOINT_TIMES
-        pos = self.target[0].get_k_array() - self.target[0].t_0[0]
-        self._pos = pos[0, 1:]
-
-    def apply(self, x, mode):
-        self._check_input(x, mode)
-        inp = x.to_global_data()
-        if mode == self.TIMES:
-            res = np.empty(self.target.shape, dtype=x.dtype)
-            res[0] = 0
-            res[1:] = inp[1] + inp[0]*self._pos
-        else:
-            res = np.array(
-                [np.sum(self._pos*inp[1:]),
-                 np.sum(inp[1:])], dtype=x.dtype)
-        return Field.from_global_data(self._tgt(mode), res)
diff --git a/nifty5/operators/symmetrizing_operator.py b/nifty5/operators/symmetrizing_operator.py
deleted file mode 100644
index c0abb67b4a656f8a57176907ed699087d2602d47..0000000000000000000000000000000000000000
--- a/nifty5/operators/symmetrizing_operator.py
+++ /dev/null
@@ -1,53 +0,0 @@
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-#
-# Copyright(C) 2013-2019 Max-Planck-Society
-#
-# NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik.
-
-from .. import dobj, utilities
-from ..domain_tuple import DomainTuple
-from ..domains.log_rg_space import LogRGSpace
-from ..field import Field
-from .endomorphic_operator import EndomorphicOperator
-
-
-class SymmetrizingOperator(EndomorphicOperator):
-    """Subtracts the field axes-wise in reverse order from itself. The slice of
-    all elements with at least one index being zero is not touched.
-
-    Parameters
-    ----------
-    domain : Domain, DomainTuple or tuple of Domain
-        Domain of the operator. `domain[space]` needs to be a non-harmonic
-        :class:`LogRGSpace`.
-    space : int
-        Index of space in domain on which the operator shall act. Default is 0.
-    """
-    def __init__(self, domain, space=0):
-        self._domain = DomainTuple.make(domain)
-        self._capability = self.TIMES | self.ADJOINT_TIMES
-        self._space = utilities.infer_space(self._domain, space)
-        dom = self._domain[self._space]
-        if not (isinstance(dom, LogRGSpace) and not dom.harmonic):
-            raise TypeError("nonharmonic LogRGSpace needed")
-
-    def apply(self, x, mode):
-        self._check_input(x, mode)
-        v = x.val.copy()
-        for i in self._domain.axes[self._space]:
-            lead = (slice(None),)*i
-            v, loc = dobj.ensure_not_distributed(v, (i,))
-            loc[lead+(slice(1, None),)] -= loc[lead+(slice(None, 0, -1),)]
-            loc /= 2
-        return Field(self.target, dobj.ensure_default_distributed(v))
diff --git a/nifty5/plot.py b/nifty5/plot.py
index 7a2d1600860c52d9735af66cf5dc25cd864aa206..d0d5ad1fbb8667d9a351dd3e3928858694a17ff5 100644
--- a/nifty5/plot.py
+++ b/nifty5/plot.py
@@ -22,7 +22,6 @@ import numpy as np
 from . import dobj
 from .domains.gl_space import GLSpace
 from .domains.hp_space import HPSpace
-from .domains.log_rg_space import LogRGSpace
 from .domains.power_space import PowerSpace
 from .domains.rg_space import RGSpace
 from .field import Field
@@ -306,18 +305,6 @@ def _plot1D(f, ax, **kwargs):
         if label != ([None]*len(f)):
             plt.legend()
         return
-    elif isinstance(dom, LogRGSpace):
-        plt.yscale(kwargs.pop("yscale", "log"))
-        npoints = dom.shape[0]
-        xcoord = dom.t_0 + np.arange(npoints-1)*dom.bindistances[0]
-        for i, fld in enumerate(f):
-            ycoord = fld.to_global_data()[1:]
-            plt.plot(xcoord, ycoord, label=label[i],
-                     linewidth=linewidth[i], alpha=alpha[i])
-        _limit_xy(**kwargs)
-        if label != ([None]*len(f)):
-            plt.legend()
-        return
     elif isinstance(dom, PowerSpace):
         plt.xscale(kwargs.pop("xscale", "log"))
         plt.yscale(kwargs.pop("yscale", "log"))
@@ -432,8 +419,8 @@ def _plot(f, ax, **kwargs):
     dom1 = f[0].domain
     if (len(dom1) == 1 and
         (isinstance(dom1[0], PowerSpace) or
-            (isinstance(dom1[0], (RGSpace, LogRGSpace)) and
-             len(dom1[0].shape) == 1))):
+         (isinstance(dom1[0], RGSpace) and
+          len(dom1[0].shape) == 1))):
         _plot1D(f, ax, **kwargs)
         return
     else:
diff --git a/test/test_operators/test_adjoint.py b/test/test_operators/test_adjoint.py
index fff5d809c448bb889fccdfc6aa9770e4e426ae74..3db45f113f66a9c44debbd8032c12dd7c5961c7b 100644
--- a/test/test_operators/test_adjoint.py
+++ b/test/test_operators/test_adjoint.py
@@ -91,16 +91,6 @@ def testConjugationOperator(sp):
                                 only_r_linear=True)
 
 
-@pmp('args', [(ift.RGSpace(10, harmonic=True), 4, 0), (ift.RGSpace(
-    (24, 31), distances=(0.4, 2.34), harmonic=True), 3, 0),
-              (ift.LMSpace(4), 10, 0)])
-def testSlopeOperator(args, dtype):
-    tmp = ift.ExpTransform(ift.PowerSpace(args[0]), args[1], args[2])
-    tgt = tmp.domain[0]
-    op = ift.SlopeOperator(tgt)
-    ift.extra.consistency_check(op, dtype, dtype)
-
-
 @pmp('sp', _h_spaces + _p_spaces + _pow_spaces)
 def testOperatorAdaptor(sp, dtype):
     op = ift.DiagonalOperator(ift.Field.from_random("normal", sp, dtype=dtype))
@@ -218,14 +208,6 @@ def testDomainTupleFieldInserter():
     ift.extra.consistency_check(op)
 
 
-@pmp('space', [0, 2])
-def testSymmetrizingOperator(space, dtype):
-    dom = (ift.LogRGSpace(10, [2.], [1.]), ift.UnstructuredDomain(13),
-           ift.LogRGSpace((5, 27), [1., 2.7], [0., 4.]), ift.HPSpace(4))
-    op = ift.SymmetrizingOperator(dom, space)
-    ift.extra.consistency_check(op, dtype, dtype)
-
-
 @pmp('space', [0, 2])
 @pmp('factor', [1, 2, 2.7])
 @pmp('central', [False, True])
@@ -237,28 +219,6 @@ def testZeroPadder(space, factor, dtype, central):
     ift.extra.consistency_check(op, dtype, dtype)
 
 
-@pmp('args',
-     [(ift.RGSpace(10, harmonic=True), 4, 0), (ift.RGSpace(
-         (24, 31), distances=(0.4, 2.34), harmonic=True), (4, 3), 0),
-      ((ift.HPSpace(4), ift.RGSpace(27, distances=0.3, harmonic=True)),
-       (10,), 1),
-      (ift.PowerSpace(ift.RGSpace(10, distances=0.3, harmonic=True)), 6, 0)])
-def testExpTransform(args, dtype):
-    op = ift.ExpTransform(args[0], args[1], args[2])
-    ift.extra.consistency_check(op, dtype, dtype)
-
-
-@pmp('args',
-     [(ift.LogRGSpace([10, 17], [2., 3.], [1., 0.]), 0),
-      ((ift.LogRGSpace(10, [2.], [1.]), ift.UnstructuredDomain(13)), 0),
-      ((ift.UnstructuredDomain(13), ift.LogRGSpace(17, [3.], [.7])), 1)])
-def testQHTOperator(args):
-    dtype = np.float64
-    tgt = ift.DomainTuple.make(args[0])
-    op = ift.QHTOperator(tgt, args[1])
-    ift.extra.consistency_check(op, dtype, dtype)
-
-
 @pmp('args', [[ift.RGSpace(
     (13, 52, 40)), (4, 6, 25), None], [ift.RGSpace(
         (128, 128)), (45, 48), 0], [ift.RGSpace(13), (7,), None], [
diff --git a/test/test_operators/test_jacobian.py b/test/test_operators/test_jacobian.py
index 8323eec35c0d6a068729edb12755c910ed9ac6b5..1de2ac4df3aca28854abd3e7f02a904551c30d96 100644
--- a/test/test_operators/test_jacobian.py
+++ b/test/test_operators/test_jacobian.py
@@ -17,7 +17,6 @@
 
 import numpy as np
 import pytest
-from numpy.testing import assert_
 
 import nifty5 as ift
 
@@ -90,29 +89,6 @@ def testBinary(type1, type2, space, seed):
         ift.extra.check_jacobian_consistency(model, pos, ntries=20)
 
 
-def testModelLibrary(space, seed):
-    # Tests amplitude model and coorelated field model
-    np.random.seed(seed)
-    domain = ift.PowerSpace(space.get_default_codomain())
-    model = ift.SLAmplitude(target=domain, n_pix=4, a=.5, k0=2, sm=3, sv=1.5,
-                            im=1.75, iv=1.3)
-    assert_(isinstance(model, ift.Operator))
-    S = ift.ScalingOperator(1., model.domain)
-    pos = S.draw_sample()
-    ift.extra.check_jacobian_consistency(model, pos, ntries=20)
-
-    model2 = ift.CorrelatedField(space, model)
-    S = ift.ScalingOperator(1., model2.domain)
-    pos = S.draw_sample()
-    ift.extra.check_jacobian_consistency(model2, pos, ntries=20)
-
-    domtup = ift.DomainTuple.make((space, space))
-    model3 = ift.MfCorrelatedField(domtup, [model, model])
-    S = ift.ScalingOperator(1., model3.domain)
-    pos = S.draw_sample()
-    ift.extra.check_jacobian_consistency(model3, pos, ntries=20)
-
-
 def testPointModel(space, seed):
     S = ift.ScalingOperator(1., space)
     pos = S.draw_sample()
diff --git a/test/test_operators/test_representation.py b/test/test_operators/test_representation.py
index 3afcd34b7a00b6e31ede4a53150e57ebdb626172..3bb2d8935156977ef6b9fe336258f477fa8880d0 100644
--- a/test/test_operators/test_representation.py
+++ b/test/test_operators/test_representation.py
@@ -71,15 +71,6 @@ def testLinearInterpolator():
     _check_repr(ift.LinearInterpolator(sp, pos))
 
 
-@pmp('args', [(ift.RGSpace(10, harmonic=True), 4, 0), (ift.RGSpace(
-    (24, 31), distances=(0.4, 2.34), harmonic=True), 3, 0),
-              (ift.LMSpace(4), 10, 0)])
-def testSlopeOperator(args, dtype):
-    tmp = ift.ExpTransform(ift.PowerSpace(args[0]), args[1], args[2])
-    tgt = tmp.domain[0]
-    _check_repr(ift.SlopeOperator(tgt))
-
-
 @pmp('sp', _h_spaces + _p_spaces + _pow_spaces)
 def testOperatorAdaptor(sp, dtype):
     op = ift.DiagonalOperator(ift.Field.from_random("normal", sp, dtype=dtype))
@@ -179,13 +170,6 @@ def testDomainTupleFieldInserter():
     _check_repr(ift.DomainTupleFieldInserter(target, 1, (5,)))
 
 
-@pmp('space', [0, 2])
-def testSymmetrizingOperator(space, dtype):
-    dom = (ift.LogRGSpace(10, [2.], [1.]), ift.UnstructuredDomain(13),
-           ift.LogRGSpace((5, 27), [1., 2.7], [0., 4.]), ift.HPSpace(4))
-    _check_repr(ift.SymmetrizingOperator(dom, space))
-
-
 @pmp('space', [0, 2])
 @pmp('factor', [1, 2, 2.7])
 @pmp('central', [False, True])
@@ -196,25 +180,6 @@ def testZeroPadder(space, factor, dtype, central):
     _check_repr(ift.FieldZeroPadder(dom, newshape, space, central))
 
 
-@pmp('args',
-     [(ift.RGSpace(10, harmonic=True), 4, 0), (ift.RGSpace(
-         (24, 31), distances=(0.4, 2.34), harmonic=True), (4, 3), 0),
-      ((ift.HPSpace(4), ift.RGSpace(27, distances=0.3, harmonic=True)),
-       (10,), 1),
-      (ift.PowerSpace(ift.RGSpace(10, distances=0.3, harmonic=True)), 6, 0)])
-def testExpTransform(args, dtype):
-    _check_repr(ift.ExpTransform(args[0], args[1], args[2]))
-
-
-@pmp('args',
-     [(ift.LogRGSpace([10, 17], [2., 3.], [1., 0.]), 0),
-      ((ift.LogRGSpace(10, [2.], [1.]), ift.UnstructuredDomain(13)), 0),
-      ((ift.UnstructuredDomain(13), ift.LogRGSpace(17, [3.], [.7])), 1)])
-def testQHTOperator(args):
-    tgt = ift.DomainTuple.make(args[0])
-    _check_repr(ift.QHTOperator(tgt, args[1]))
-
-
 @pmp('args', [[ift.RGSpace(
     (13, 52, 40)), (4, 6, 25), None], [ift.RGSpace(
         (128, 128)), (45, 48), 0], [ift.RGSpace(13), (7,), None], [