diff --git a/geom/geom/src/TGeoMaterial.cxx b/geom/geom/src/TGeoMaterial.cxx
index fa37ecec794f9aa5b46b9c2974ab0e5316620621..30b63160a347b86d15a6f6f76b405301879f802b 100644
--- a/geom/geom/src/TGeoMaterial.cxx
+++ b/geom/geom/src/TGeoMaterial.cxx
@@ -867,7 +867,11 @@ TGeoMaterial *TGeoMixture::DecayMaterial(Double_t time, Double_t precision)
       weight[i] /= amed;
       if (weight[i]<precision) continue;
       el = (TGeoElementRN *)pop->At(i);
-      if (ncomp1==1) return new TGeoMaterial(Form("%s-evol",GetName()), el, rho);
+      if (ncomp1==1) {
+         delete [] weight;
+         delete pop;
+         return new TGeoMaterial(Form("%s-evol",GetName()), el, rho);
+      }   
       mix->AddElement(el, weight[i]);
    }
    delete [] weight;