diff --git a/library/hmac_drbg.c b/library/hmac_drbg.c
index 808be61..328ba92 100644
--- a/library/hmac_drbg.c
+++ b/library/hmac_drbg.c
@@ -114,7 +114,8 @@
     /* 2. Update state */
     hmac_drbg_update( ctx, seed, seedlen );
 
-    /* 3. Reset reseed_counter (TODO) */
+    /* 3. Reset reseed_counter */
+    ctx->reseed_counter = 1;
 
     /* 4. Done */
     return( 0 );
@@ -145,6 +146,8 @@
     ctx->f_entropy = f_entropy;
     ctx->p_entropy = p_entropy;
 
+    ctx->reseed_interval = HMAC_DRBG_RESEED_INTERVAL;
+
     /*
      * See SP800-57 5.6.1 (p. 65-66) for the security strength provided by
      * each hash function, then according to SP800-90A rev1 10.1 table 2,
@@ -188,6 +191,14 @@
 }
 
 /*
+ * Set reseed interval
+ */
+void hmac_drbg_set_reseed_interval( hmac_drbg_context *ctx, int interval )
+{
+    ctx->reseed_interval = interval;
+}
+
+/*
  * HMAC_DRBG random function with optional additional data (10.1.2.5)
  */
 int hmac_drbg_random_with_add( void *p_rng,
@@ -200,9 +211,10 @@
     size_t left = out_len;
     unsigned char *out = output;
 
-    /* 1. Check reseed counter (TODO) and PR */
+    /* 1. Check reseed counter and PR */
     if( ctx->f_entropy != NULL &&
-        ctx->prediction_resistance == HMAC_DRBG_PR_ON )
+        ( ctx->prediction_resistance == HMAC_DRBG_PR_ON ||
+          ctx->reseed_counter > ctx->reseed_interval ) )
     {
         if( ( ret = hmac_drbg_reseed( ctx, additional, add_len ) ) != 0 )
             return( ret );
@@ -229,7 +241,8 @@
     /* 6. Update */
     hmac_drbg_update( ctx, additional, add_len );
 
-    /* 7. Update reseed counter (TODO) */
+    /* 7. Update reseed counter */
+    ctx->reseed_counter++;
 
     /* 8. Done */
     return( 0 );
