diff --git a/lib/mpzx.c b/lib/mpzx.c
index 98461c20374abafe4382244f67d2bddf858eade4..46a0040481dc93975489916e9056916c1ef5fe13 100644
--- a/lib/mpzx.c
+++ b/lib/mpzx.c
@@ -739,10 +739,6 @@ void mpzx_oneroot_split_mod (mpz_ptr root, mpzx_srcptr f, mpz_srcptr p,
 
    mpzx_clear (F);
    mpzx_clear (factor);
-#ifdef HAVE_FLINT
-      /* Clear FLINT cache. */
-      flint_cleanup ();
-#endif
 
    cm_timer_stop (clock);
    if (verbose && f->deg > 1)
diff --git a/lib/pari.c b/lib/pari.c
index 6afa811234f4d03b6e27a88a71272a6320f16598..b3e8e070dc4c95da064cf2c9309ada655eda2dcb 100644
--- a/lib/pari.c
+++ b/lib/pari.c
@@ -167,6 +167,10 @@ void cm_pari_clear ()
 
 {
    pari_close ();
+#ifdef HAVE_FLINT
+      /* Clear FLINT cache. */
+      flint_cleanup ();
+#endif
 }
 
 /*****************************************************************************/