diff --git a/steam-runtime-tools/utils.c b/steam-runtime-tools/utils.c
index 89721b4e6bdc6ce35ac0f39eafd998813dc362c1..e17191294cf9a871c1d36aa736f6c4f4a4f6b22a 100644
--- a/steam-runtime-tools/utils.c
+++ b/steam-runtime-tools/utils.c
@@ -29,6 +29,8 @@
 #include <link.h>
 #include <string.h>
 
+#include <glib-object.h>
+
 static gchar *helpers_path = NULL;
 
 G_GNUC_INTERNAL const char *
@@ -95,3 +97,12 @@ out:
 
   return path;
 }
+
+#if !GLIB_CHECK_VERSION(2, 36, 0)
+static void _srt_constructor (void) __attribute__((__constructor__));
+static void
+_srt_constructor (void)
+{
+  g_type_init ();
+}
+#endif