No timer -> to timeout (optional for TLS)
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index f4c0c56..26476a3 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -95,7 +95,7 @@
 static int ssl_check_timer( mbedtls_ssl_context *ssl )
 {
     if( ssl->f_get_timer == NULL )
-        return( -2 );
+        return( 0 );
 
     if( ssl->f_get_timer( ssl->p_timer ) == 2 )
     {
@@ -6071,8 +6071,11 @@
     if( ssl->in_offt == NULL )
     {
         /* Start timer if not already running */
-        if( ssl->f_get_timer( ssl->p_timer ) == -1 )
+        if( ssl->f_get_timer != NULL &&
+            ssl->f_get_timer( ssl->p_timer ) == -1 )
+        {
             ssl_set_timer( ssl, ssl->conf->read_timeout );
+        }
 
         if( ! record_read )
         {