diff --git a/cmake/modules/DuneMPI.cmake b/cmake/modules/DuneMPI.cmake
index 52c9afdce3e79a8f394872333f37ce317867c803..3d7f1107b10fc4e710b252f7e6716110a1006681 100644
--- a/cmake/modules/DuneMPI.cmake
+++ b/cmake/modules/DuneMPI.cmake
@@ -47,7 +47,7 @@ endif(MPI_FOUND)
 
 # adds MPI flags to the targets
 function(add_dune_mpi_flags)
-  cmake_parse_arguments(ADD_MPI "SOURCE_ONLY" "" "" ${ARGN})
+  cmake_parse_arguments(ADD_MPI "SOURCE_ONLY;OBJECT" "" "" ${ARGN})
   if(ADD_MPI_SOURCE_ONLY)
     set(_prefix SOURCE)
   else()
@@ -57,11 +57,11 @@ function(add_dune_mpi_flags)
     set_property(${_prefix} ${ADD_MPI_UNPARSED_ARGUMENTS} APPEND PROPERTY COMPILE_FLAGS ${MPI_DUNE_COMPILE_FLAGS})
     set_property(${_prefix} ${ADD_MPI_UNPARSED_ARGUMENTS} APPEND PROPERTY COMPILE_DEFINITIONS ENABLE_MPI=1
       MPICH_SKIP_MPICXX MPIPP_H)
-    if(NOT ADD_MPI_SOURCE_ONLY)
+    if(NOT (ADD_MPI_SOURCE_ONLY OR ADD_MPI_OBJECT))
     set_property(${_prefix} ${ADD_MPI_UNPARSED_ARGUMENTS} APPEND PROPERTY LINK_FLAGS ${MPI_DUNE_LINK_FLAGS})
     foreach(target ${ADD_MPI_UNPARSED_ARGUMENTS})
       target_link_libraries(${target} ${MPI_DUNE_LIBRARIES})
     endforeach(target ${ADD_MPI_UNPARSED_ARGUMENTS})
-    endif(NOT ADD_MPI_SOURCE_ONLY)
+    endif(NOT (ADD_MPI_SOURCE_ONLY OR ADD_MPI_OBJECT))
   endif(MPI_FOUND)
 endfunction(add_dune_mpi_flags)