diff --git a/pystencils/stencil.py b/pystencils/stencil.py
index 48cee7c027019ef251fb7c208081708b5f31b5f1..10925735a868a34297d566d4fa4e14736e727992 100644
--- a/pystencils/stencil.py
+++ b/pystencils/stencil.py
@@ -421,11 +421,12 @@ def plot_3d(stencil, figure=None, axes=None, data=None, textsize='8'):
             FancyArrowPatch.__init__(self, (0, 0), (0, 0), *args, **kwargs)
             self._verts3d = xs, ys, zs
 
-        def draw(self, renderer):
+        def do_3d_projection(self, *_):
             xs3d, ys3d, zs3d = self._verts3d
             xs, ys, zs = proj3d.proj_transform(xs3d, ys3d, zs3d, self.axes.M)
             self.set_positions((xs[0], ys[0]), (xs[1], ys[1]))
-            FancyArrowPatch.draw(self, renderer)
+
+            return np.min(zs)
 
     if axes is None:
         if figure is None: