Index: include/base/reference_counter.h
===================================================================
--- include/base/reference_counter.h	(revision 3876)
+++ include/base/reference_counter.h	(working copy)
@@ -80,7 +80,14 @@
   static unsigned int n_objects ()
   { return _n_objects; }
 
+  /**
+   * Methods to enable/disable the reference counter output
+   * from print_info()
+   */
+  static void enable_print_counter_info();
+  static void disable_print_counter_info();
   
+  
 protected:
 
   
@@ -125,6 +132,12 @@
    * Mutual exclusion object to enable thread-safe reference counting.
    */
   static Threads::spin_mutex _mutex;
+
+  /**
+   * Flag to control whether reference count information
+   * is printed when print_info is called.
+   */
+  static bool _enable_print_counter;
 };
 
 
@@ -134,6 +147,11 @@
 inline ReferenceCounter::ReferenceCounter()
 {
   _n_objects++;
+
+  // Check command line to override printing
+  // of reference count information.
+  if( libMesh::on_command_line("--disable-refcount-printing") )
+    _enable_print_counter=false;
 }
 
 
Index: src/base/reference_counter.C
===================================================================
--- src/base/reference_counter.C	(revision 3876)
+++ src/base/reference_counter.C	(working copy)
@@ -36,6 +36,7 @@
 #if defined(LIBMESH_ENABLE_REFERENCE_COUNTING) && defined(DEBUG)
 
 ReferenceCounter::Counts ReferenceCounter::_counts;
+bool ReferenceCounter::_enable_print_counter = true;
 
 #endif
 
@@ -88,9 +89,7 @@
 
 void ReferenceCounter::print_info (std::ostream &out_stream)
 {
-  
-  out_stream << ReferenceCounter::get_info();
-  
+  if( _enable_print_counter ) out_stream << ReferenceCounter::get_info();
 }
 
 #else
@@ -100,4 +99,16 @@
 
 #endif
 
+void ReferenceCounter::enable_print_counter_info()
+{
+  _enable_print_counter = true;
+  return;
+}
+
+void ReferenceCounter::disable_print_counter_info()
+{
+  _enable_print_counter = false;
+  return;
+}
+
 } // namespace libMesh
