diff --git a/yarrow_key_event.c b/yarrow_key_event.c
index 6ea9a8114bfe48627ba6b02a4551e6d08c532793..9b25c96ceb9c6545a4568fc3664914ed4b6df2ef 100644
--- a/yarrow_key_event.c
+++ b/yarrow_key_event.c
@@ -44,9 +44,9 @@ yarrow_key_event_estimate(struct yarrow_key_event_ctx *ctx,
   unsigned i;
 
   /* Look at timing first. */
-  if (ctx->previous)
+  if (ctx->previous && (time > ctx->previous) )
     {
-      if ( (time - ctx->previous) < 256)
+      if ( (time - ctx->previous) >= 256)
         entropy++;
     }
   ctx->previous = time;