--- a/resynthesizer/src/src/refinerThreaded.h
+++ b/resynthesizer/src/src/refinerThreaded.h
@@ -315,8 +315,9 @@ refiner(
     }
   }
 
-
+#if !GLIB_CHECK_VERSION (2, 31, 0)
   g_thread_init(NULL);  // Init threading system, not necessary after glib 2.32
+#endif
 
   prepare_repetition_parameters(repetition_params, targetPoints->len);
   estimatedPixelCountToCompletion = estimatePixelsToSynth(repetition_params);
@@ -455,8 +456,9 @@ refiner(
     }
   }
 
-
+#if !GLIB_CHECK_VERSION (2, 31, 0)
   g_thread_init(NULL);
+#endif
 
   prepare_repetition_parameters(repetition_params, targetPoints->len);
   estimatedPixelCountToCompletion = estimatePixelsToSynth(repetition_params);
--- a/resynthesizer/src/src/resynthesizer.c
+++ b/resynthesizer/src/src/resynthesizer.c
@@ -311,7 +311,9 @@ static void run(
   #ifdef SYNTH_THREADED
   // This is as early as it can be called.  Not sure it needs to be called.  See later call to it.
   // Call it early since calls to gdk, gtk might require this?
+#if !GLIB_CHECK_VERSION (2, 31, 0)
   g_thread_init(NULL);
+#endif
   #endif
 
   #ifdef DEBUG
