diff --git a/folly/portability/PThread.cpp b/folly/portability/PThread.cpp
index f8cd6d4..0908668 100644
--- a/folly/portability/PThread.cpp
+++ b/folly/portability/PThread.cpp
@@ -18,7 +18,9 @@
 
 #if !FOLLY_HAVE_PTHREAD && defined(_WIN32)
 #include <boost/thread/tss.hpp> // @manual
-
+#include <boost/thread/exceptions.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/thread/thread_only.hpp>
 #include <errno.h>
 
 #include <chrono>
@@ -683,7 +685,7 @@ int pthread_setspecific(pthread_key_t key, const void* value) {
     // function, which we don't want to do.
     boost::detail::set_tss_data(
         realKey,
-        boost::shared_ptr<boost::detail::tss_cleanup_function>(),
+        0,0,
         const_cast<void*>(value),
         false);
     return 0;
