diff --git a/contrib/fb303/cpp/FacebookBase.cpp b/contrib/fb303/cpp/FacebookBase.cpp
index aef8950..d942106 100644
--- a/contrib/fb303/cpp/FacebookBase.cpp
+++ b/contrib/fb303/cpp/FacebookBase.cpp
@@ -9,12 +9,9 @@
 using namespace facebook::fb303;
 using facebook::thrift::concurrency::Guard;
 
-FacebookBase::FacebookBase(std::string name, get_static_limref_ptr reflect_lim) :
+FacebookBase::FacebookBase(std::string name) :
   name_(name) {
   aliveSince_ = (int64_t) time(NULL);
-  if (reflect_lim) {
-    reflect_lim(reflection_limited_);
-  }
 }
 
 inline void FacebookBase::getName(std::string& _return) {
diff --git a/contrib/fb303/cpp/FacebookBase.h b/contrib/fb303/cpp/FacebookBase.h
index a5afe5b..174271b 100644
--- a/contrib/fb303/cpp/FacebookBase.h
+++ b/contrib/fb303/cpp/FacebookBase.h
@@ -26,8 +26,6 @@
 struct ReadWriteCounterMap : ReadWriteMutex,
                              std::map<std::string, ReadWriteInt> {};
 
-typedef void (*get_static_limref_ptr)(facebook::thrift::reflection::limited::Service &);
-
 /**
  * Base Facebook service implementation in C++.
  *
@@ -35,7 +33,7 @@
  */
 class FacebookBase : virtual public FacebookServiceIf {
  protected:
-  FacebookBase(std::string name, get_static_limref_ptr reflect_lim = NULL);
+  FacebookBase(std::string name);
   virtual ~FacebookBase() {}
 
  public:
@@ -51,10 +49,6 @@
 
   int64_t aliveSince();
 
-  void getLimitedReflection(facebook::thrift::reflection::limited::Service& _return) {
-    _return = reflection_limited_;
-  }
-
   virtual void reinitialize() {}
 
   virtual void shutdown() {
@@ -81,7 +75,6 @@
  private:
 
   std::string name_;
-  facebook::thrift::reflection::limited::Service reflection_limited_;
   int64_t aliveSince_;
 
   std::map<std::string, std::string> options_;
