--- configure.in
+++ configure.in
@@ -2364,7 +2364,7 @@
 };
 #define	G_STATIC_MUTEX_INIT	{ NULL, { { $g_mutex_contents} } }
 #define	g_static_mutex_get_mutex(mutex) \\
-  (g_thread_use_default_impl ? ((GMutex*) &((mutex)->static_mutex)) : \\
+  (g_thread_use_default_impl ? ((GMutex*) ((mutex)->static_mutex.dummy_pointer)) : \\
    g_static_mutex_get_mutex_impl_shortcut (&((mutex)->runtime_mutex)))
 _______EOF
 	else
--- glib/gthread.h
+++ glib/gthread.h
@@ -138,7 +138,7 @@
 GMutex* g_static_mutex_get_mutex_impl   (GMutex **mutex);
 
 #define g_static_mutex_get_mutex_impl_shortcut(mutex) \
-  (g_atomic_pointer_get ((gpointer*)mutex) ? *(mutex) : \
+  (g_atomic_pointer_get (mutex) ? *(mutex) : \
    g_static_mutex_get_mutex_impl (mutex))
 
 /* shorthands for conditional and unconditional function calls */
