diff --git a/core/random.cpp b/core/random.cpp
index 51b137e..c398f8d 100644
--- a/core/random.cpp
+++ b/core/random.cpp
@@ -1,12 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014,  Regents of the University of California,
- *                      Arizona Board of Regents,
- *                      Colorado State University,
- *                      University Pierre & Marie Curie, Sorbonne University,
- *                      Washington University in St. Louis,
- *                      Beijing Institute of Technology,
- *                      The University of Memphis
+ * Copyright (c) 2014-2015,  Regents of the University of California,
+ *                           Arizona Board of Regents,
+ *                           Colorado State University,
+ *                           University Pierre & Marie Curie, Sorbonne University,
+ *                           Washington University in St. Louis,
+ *                           Beijing Institute of Technology,
+ *                           The University of Memphis.
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
@@ -24,15 +24,25 @@
  */
 
 #include "random.hpp"
+#include <boost/thread/tss.hpp>
 
 namespace nfd {
 
-static boost::random::mt19937 g_rng;
+static boost::thread_specific_ptr<boost::random::mt19937> g_rng;
 
 boost::random::mt19937&
 getGlobalRng()
 {
-  return g_rng;
+  if (g_rng.get() == nullptr) {
+    g_rng.reset(new boost::random::mt19937());
+  }
+  return *g_rng;
+}
+
+void
+resetGlobalRng()
+{
+  g_rng.reset();
 }
 
 } // namespace nfd
