diff --git a/library/threading.c b/library/threading.c
index e904b19..b499a44 100644
--- a/library/threading.c
+++ b/library/threading.c
@@ -112,6 +112,7 @@
     mbedtls_mutex_unlock = mutex_unlock;
 
     mbedtls_mutex_init( &mbedtls_threading_readdir_mutex );
+    mbedtls_mutex_init( &mbedtls_threading_gmtime_mutex );
 }
 
 /*
@@ -120,6 +121,7 @@
 void mbedtls_threading_free_alt( void )
 {
     mbedtls_mutex_free( &mbedtls_threading_readdir_mutex );
+    mbedtls_mutex_free( &mbedtls_threading_gmtime_mutex );
 }
 #endif /* MBEDTLS_THREADING_ALT */
 
@@ -130,5 +132,6 @@
 #define MUTEX_INIT
 #endif
 mbedtls_threading_mutex_t mbedtls_threading_readdir_mutex MUTEX_INIT;
+mbedtls_threading_mutex_t mbedtls_threading_gmtime_mutex MUTEX_INIT;
 
 #endif /* MBEDTLS_THREADING_C */
diff --git a/library/x509.c b/library/x509.c
index 504fcf7..68cc022 100644
--- a/library/x509.c
+++ b/library/x509.c
@@ -879,7 +879,7 @@
  */
 #if defined(MBEDTLS_HAVE_TIME)
 
-static void x509_get_current_time( mbedtls_x509_time *now )
+static int x509_get_current_time( mbedtls_x509_time *now )
 {
 #if defined(_WIN32) && !defined(EFIX64) && !defined(EFI32)
     SYSTEMTIME st;
@@ -887,25 +887,38 @@
     GetSystemTime( &st );
 
     now->year = st.wYear;
-    now->mon = st.wMonth;
-    now->day = st.wDay;
+    now->mon  = st.wMonth;
+    now->day  = st.wDay;
     now->hour = st.wHour;
-    now->min = st.wMinute;
-    now->sec = st.wSecond;
+    now->min  = st.wMinute;
+    now->sec  = st.wSecond;
 #else
-    struct tm lt;
+    struct tm *lt;
     time_t tt;
 
-    tt = time( NULL );
-    gmtime_r( &tt, &lt );
+#if defined(MBEDTLS_THREADING_C)
+    if( mbedtls_mutex_lock( &mbedtls_threading_gmtime_mutex ) != 0 )
+        return( MBEDTLS_ERR_THREADING_MUTEX_ERROR );
+#endif
 
-    now->year = lt.tm_year + 1900;
-    now->mon = lt.tm_mon + 1;
-    now->day = lt.tm_mday;
-    now->hour = lt.tm_hour;
-    now->min = lt.tm_min;
-    now->sec = lt.tm_sec;
+    tt = time( NULL );
+    lt = gmtime( &tt );
+
+    now->year = lt->tm_year + 1900;
+    now->mon  = lt->tm_mon  + 1;
+    now->day  = lt->tm_mday;
+    now->hour = lt->tm_hour;
+    now->min  = lt->tm_min;
+    now->sec  = lt->tm_sec;
+
+#if defined(MBEDTLS_THREADING_C)
+    if( mbedtls_mutex_unlock( &mbedtls_threading_gmtime_mutex ) != 0 )
+        return( MBEDTLS_ERR_THREADING_MUTEX_ERROR );
+#endif
+
 #endif /* _WIN32 && !EFIX64 && !EFI32 */
+
+    return( 0 );
 }
 
 /*
@@ -953,7 +966,8 @@
 {
     mbedtls_x509_time now;
 
-    x509_get_current_time( &now );
+    if( x509_get_current_time( &now ) != 0 )
+        return( -1 );
 
     return( x509_check_time( &now, to ) );
 }
@@ -962,7 +976,8 @@
 {
     mbedtls_x509_time now;
 
-    x509_get_current_time( &now );
+    if( x509_get_current_time( &now ) != 0 )
+        return( -1 );
 
     return( x509_check_time( from, &now ) );
 }
