diff --git a/sumpy/kernel.py b/sumpy/kernel.py
index 1ee007ada2bfc129c43fd6c5b59efb6a9d3a6476..3ce0bb8d3b654ca564ad672ef2417815be2a5eec 100644
--- a/sumpy/kernel.py
+++ b/sumpy/kernel.py
@@ -798,8 +798,7 @@ class AxisTargetDerivative(DerivativeBase):
         return expr.diff(bvec[self.axis])
 
     def replace_inner_kernel(self, new_inner_kernel):
-        self.inner_kernel = new_inner_kernel
-        return self
+        return type(self)(self.axis, new_inner_kernel)
 
     mapper_method = "map_axis_target_derivative"