diff --git a/lib/vtls/vtls.c b/lib/vtls/vtls.c
index ab7274ace1635b0493265e1e14a498e8dee6a54d..58295a4de399a99fd41bd7af9bb8892d57d45602 100644
--- a/lib/vtls/vtls.c
+++ b/lib/vtls/vtls.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -197,6 +197,23 @@ unsigned int Curl_rand(struct SessionHandle *data)
   static unsigned int randseed;
   static bool seeded = FALSE;
 
+#ifdef CURLDEBUG
+  char *force_entropy = getenv("CURL_ENTROPY");
+  if(force_entropy) {
+    if(!seeded) {
+      size_t elen = strlen(force_entropy);
+      size_t clen = sizeof(randseed);
+      size_t min = elen < clen ? elen : clen;
+      memcpy((char *)&randseed, force_entropy, min);
+      seeded = TRUE;
+    }
+    else
+      randseed++;
+
+    return randseed;
+  }
+#endif
+
 #ifndef have_curlssl_random
   (void)data;
 #else
diff --git a/tests/runtests.pl b/tests/runtests.pl
index bf7aaeed1195321c02f6bbffecbf3717692edae6..5982348e94276a45e85501e99c66dc96e86d4e14 100755
--- a/tests/runtests.pl
+++ b/tests/runtests.pl
@@ -311,6 +311,7 @@ if (!$USER) {
 
 # enable memory debugging if curl is compiled with it
 $ENV{'CURL_MEMDEBUG'} = $memdump;
+$ENV{'CURL_ENTROPY'}="12345678";
 $ENV{'HOME'}=$pwd;
 
 sub catch_zap {