diff --git a/dune/common/mpiguard.hh b/dune/common/mpiguard.hh
index ebc8eac07aaae437ed76a94be38dc635c23af901..4af70fafde75be89d064b9369463d82c9a64ea3b 100644
--- a/dune/common/mpiguard.hh
+++ b/dune/common/mpiguard.hh
@@ -49,6 +49,8 @@ namespace Dune
       virtual int size() { return comm.size(); };
       virtual int sum(int i) { return comm.sum(i); }
     };
+
+#if HAVE_MPI
     // specialization for MPI_Comm
     template <>
     struct GenericGuardCommunicator<MPI_Comm>
@@ -58,6 +60,7 @@ namespace Dune
         GenericGuardCommunicator< CollectiveCommunication<MPI_Comm> >(
           CollectiveCommunication<MPI_Comm>(c)) {}
     };
+#endif
 
     template<class C>
     GuardCommunicator * GuardCommunicator::create(const C & comm)