--- a/src/differential.cpp
+++ b/src/differential.cpp
@@ -575,7 +575,7 @@
     boost::mutex::scoped_lock lock(meta_data_lock);
 #endif
     pair<SampleDiffMetaDataTable::iterator, bool> p;
-    p = meta_data_table.insert(make_pair(description, new SampleDifferenceMetaData()));
+    p = meta_data_table.insert(make_pair(description, boost::make_shared<SampleDifferenceMetaData>()));
     return p.first->second;
 }
 
