diff --git a/dune/common/shared_ptr.hh b/dune/common/shared_ptr.hh
index a416976b2d684bc1e95696a21120eb6946cddb99..62854abc9451946dd0b6c0cb705448ae99a91c97 100644
--- a/dune/common/shared_ptr.hh
+++ b/dune/common/shared_ptr.hh
@@ -126,7 +126,7 @@ namespace Dune
   template<class T>
   inline shared_ptr<T>::shared_ptr()
   {
-    rep_ = new PointerRep;
+    rep_ = NULL;
   }
 
   template<class T>
diff --git a/dune/common/test/smartpointertest.cc b/dune/common/test/smartpointertest.cc
index ff173fa68bd5577d643ed22fb07d144fe88f1573..ca8dbe20a05fbc48c9543f22011818a03885de76 100644
--- a/dune/common/test/smartpointertest.cc
+++ b/dune/common/test/smartpointertest.cc
@@ -14,7 +14,7 @@ int main(){
   using namespace Dune;
   int ret=0;
   {
-    shared_ptr<double> b;
+    shared_ptr<double> b(new double(42.0));
     {
       shared_ptr<double> d(b);
       *b = 7;