DTLS depends on TIMING_C for now
diff --git a/include/polarssl/check_config.h b/include/polarssl/check_config.h
index c532db0..5e21f3e 100644
--- a/include/polarssl/check_config.h
+++ b/include/polarssl/check_config.h
@@ -223,8 +223,9 @@
 #endif
 
 #if defined(POLARSSL_SSL_PROTO_DTLS) && (       \
-    !defined(POLARSSL_SSL_PROTO_TLS1_1) &&      \
-    !defined(POLARSSL_SSL_PROTO_TLS1_2) )
+    ( !defined(POLARSSL_SSL_PROTO_TLS1_1) &&      \
+      !defined(POLARSSL_SSL_PROTO_TLS1_2) ) ||    \
+    !defined(POLARSSL_TIMING_C) )
 #error "POLARSSL_SSL_PROTO_DTLS defined, but not all prerequisites"
 #endif
 
diff --git a/include/polarssl/config.h b/include/polarssl/config.h
index abc2668..6e9050a 100644
--- a/include/polarssl/config.h
+++ b/include/polarssl/config.h
@@ -908,6 +908,11 @@
  *
  * Requires: POLARSSL_SSL_PROTO_TLS1_1
  *        or POLARSSL_SSL_PROTO_TLS1_2
+ *           POLARSSL_TIMING_C
+ *
+ * \note Dependency on TIMING_C may be replaced by something more flexible
+ * (callbacks or abstraction layer in the next major version). Please contact
+ * us if you're having issues with this dependency.
  *
  * Comment this macro to disable support for DTLS
  */
diff --git a/include/polarssl/ssl.h b/include/polarssl/ssl.h
index ac6f03f..c508734 100644
--- a/include/polarssl/ssl.h
+++ b/include/polarssl/ssl.h
@@ -76,7 +76,7 @@
 #include "zlib.h"
 #endif
 
-#if defined(POLARSSL_TIMING_C)
+#if defined(POLARSSL_SSL_PROTO_DTLS)
 #include "timing.h"
 #endif
 
@@ -830,14 +830,11 @@
     ssl_transform *transform_negotiate; /*!<  transform params in negotiation */
 
     /*
-     * Timers (WIP)
+     * Timers
      */
-#if defined(POLARSSL_TIMING_C)
-    struct hr_time time_info;
-    unsigned long time_limit;
-#endif
-
 #if defined(POLARSSL_SSL_PROTO_DTLS)
+    struct hr_time time_info;   /*!< timer context                      */
+    unsigned long time_limit;   /*!< limit for the running timer        */
     uint32_t hs_timeout_min;    /*!< initial value of the handshake
                                      retransmission timeout             */
     uint32_t hs_timeout_max;    /*!< maximum value of the handshake