diff --git a/scripts/cmake/Dependencies.cmake b/scripts/cmake/Dependencies.cmake
index 2860138b9d24b7868ab4d4d99a285e187a04aa6a..045050fbfc0f78820993c8b6e20a1bd3114821c1 100644
--- a/scripts/cmake/Dependencies.cmake
+++ b/scripts/cmake/Dependencies.cmake
@@ -212,19 +212,31 @@ else()
         EXCLUDE_FROM_ALL YES
     )
     if(HDF5_ADDED)
-        target_include_directories(hdf5-static INTERFACE ${HDF5_BINARY_DIR})
         list(APPEND DISABLE_WARNINGS_TARGETS hdf5-static)
         set(HDF5_LIBRARIES hdf5-static)
         if(ZLIB_ADDED)
             list(APPEND HDF5_LIBRARIES zlibstatic)
         endif()
-        set(HDF5_C_INCLUDE_DIR ${HDF5_SOURCE_DIR})
-        set(HDF5_INCLUDE_DIR ${HDF5_SOURCE_DIR})
+        set(HDF5_C_INCLUDE_DIR ${HDF5_SOURCE_DIR}/src)
+        set(HDF5_INCLUDE_DIR ${HDF5_SOURCE_DIR}/src)
+        target_include_directories(hdf5-static INTERFACE ${HDF5_BINARY_DIR} ${HDF5_INCLUDE_DIR})
     else()
         find_package(HDF5 REQUIRED)
     endif()
 endif()
 
+if(OGS_USE_PETSC)
+    include(CheckCXXSymbolExists)
+    set(CMAKE_REQUIRED_INCLUDES "${HDF5_INCLUDE_DIR}" "${HDF5_BINARY_DIR}")
+    set(CMAKE_REQUIRED_LIBRARIES "${HDF5_LIBRARIES}")
+    check_cxx_symbol_exists(H5Pset_fapl_mpio hdf5.h HAVE_H5Pset_fapl_mpio)
+    unset(CMAKE_REQUIRED_INCLUDES)
+    if(NOT HAVE_H5Pset_fapl_mpio)
+        message(FATAL_ERROR "HDF5 was not build with MPI support! "
+            "(Enable with HDF5_ENABLE_PARALLEL)")
+    endif()
+endif()
+
 # Does not compile in Debug-mode, see #3175.
 if(CMAKE_BUILD_TYPE STREQUAL "Release" AND OGS_BUILD_TESTING)
     set(XDMF_LIBNAME OgsXdmf CACHE STRING "")