diff --git a/src/sphere/sphere.cpp b/src/sphere/sphere.cpp
index 38c452348df0eb94c241fe797880f17ac18a23c5..a2d5228ec09e24aa32772daf739bf0785791e836 100644
--- a/src/sphere/sphere.cpp
+++ b/src/sphere/sphere.cpp
@@ -610,6 +610,7 @@ int sphere_jxi488_cycle(
     if (jer != 0) {
       oi->vec_ier[jxindex] = 1;
       oi->lcalc = lcalc;
+      delete logger;
       return jer;
     }
   } // i132
@@ -868,6 +869,7 @@ int sphere_jxi488_cycle(
   } // jth486 loop on azimuth
   oi->vec_jxi[jxindex] = jxi;
   logger->log("INFO: finished scale iteration " + to_string(jxi) + " of " + to_string(nxi) + ".\n");
+  delete logger;
   return jer;
 }