diff --git a/src/modules/gmpmod/mpz_glue.c b/src/modules/gmpmod/mpz_glue.c
index 641196dacd1bdae814163fe72d90936fcf916a2f..c75f1c068820dd6f1939d62b341ffa9e389c2cf7 100644
--- a/src/modules/gmpmod/mpz_glue.c
+++ b/src/modules/gmpmod/mpz_glue.c
@@ -373,14 +373,15 @@ static void exit_mpz_glue(char *foo, struct object *o)
 {
   mpz_clear(THIS);
 }
-
 #endif
 
 void init_gmpmod_efuns(void) {}
 void exit_gmpmod(void)
 {
+#ifdef HAVE_GMP_H
   if(temporary) free_object(temporary);
   free_program(mpzmod_program);
+#endif
 }
 
 void init_gmpmod_programs(void)