diff --git a/torsions.c b/torsions.c
index 41f2e92375d0c0a936a05d9b80e5f91572ffd5f2..af0ce7deb25c55d41a83daeb2d423dde3b1f252f 100644
--- a/torsions.c
+++ b/torsions.c
@@ -1413,9 +1413,9 @@ build_curves_with_torsion2(mpz_t f, mpz_t n, ell_curve_t E,
 	mpz_set(E->a6, tE[0]->a6);
 	mpz_set(x, tP[0]->x);
 	mpz_set(y, tP[0]->y);
-	ell_point_clear(tP[0], tE[0], modulus);
-	ell_curve_clear(tE[0], modulus);
     }
-    mpmod_clear(modulus);
+    ell_point_clear (tP[0], tE[0], modulus);
+    ell_curve_clear (tE[0], modulus);
+    mpmod_clear (modulus);
     return ret;
 }