diff --git a/ext/pango/gstclockoverlay.c b/ext/pango/gstclockoverlay.c
index 4a1330fb97..76b7b593cf 100644
--- a/ext/pango/gstclockoverlay.c
+++ b/ext/pango/gstclockoverlay.c
@@ -97,6 +97,9 @@ gst_clock_overlay_render_time (GstClockOverlay * overlay)
   now = time (NULL);
 
 #ifdef HAVE_LOCALTIME_R
+  /* Need to call tzset explicitly when calling localtime_r for changes
+     to the timezone between calls to be visible.  */
+  tzset ();
   t = localtime_r (&now, &dummy);
 #else
   /* on win32 this apparently returns a per-thread struct which would be fine */