diff --git a/source/adios2/engine/adios1/ADIOS1Reader.h b/source/adios2/engine/adios1/ADIOS1Reader.h
index 720acbad605dd5ac6fb6802816f859cdad44ed5d..e600754ea8e4b0e977e10cc04243ced07542879e 100644
--- a/source/adios2/engine/adios1/ADIOS1Reader.h
+++ b/source/adios2/engine/adios1/ADIOS1Reader.h
@@ -15,12 +15,22 @@
 
 #include <iostream> //this must go away
 
-#include <adios_read_v2.h>
-
 #include "adios2/ADIOSConfig.h"
 #include "adios2/capsule/heap/STLVector.h"
 #include "adios2/core/Engine.h"
 
+// Fake out the include guard from ADIOS1's mpidummy.h to prevent it from
+// getting included
+#ifdef _NOMPI
+#define __MPI_DUMMY_H__
+#define MPI_Comm int
+#endif
+#include <adios_read_v2.h>
+#ifdef _NOMPI
+#undef MPI_Comm
+#undef __MPI_DUMMY_H__
+#endif
+
 namespace adios
 {
 
diff --git a/source/adios2/engine/adios1/ADIOS1Writer.h b/source/adios2/engine/adios1/ADIOS1Writer.h
index c02de6a815a93980e8c807d220d67b8df882ea61..bc9ebe4502dde8c8e5eb71867c6fdfe3b9ad591c 100644
--- a/source/adios2/engine/adios1/ADIOS1Writer.h
+++ b/source/adios2/engine/adios1/ADIOS1Writer.h
@@ -13,11 +13,21 @@
 #ifndef ADIOS2_ENGINE_ADIOS1_ADIOS1WRITER_H_
 #define ADIOS2_ENGINE_ADIOS1_ADIOS1WRITER_H_
 
-#include <adios.h>
-
 #include "adios2/ADIOSConfig.h"
 #include "adios2/core/Engine.h"
 
+// Fake out the include guard from ADIOS1's mpidummy.h to prevent it from
+// getting included
+#ifdef _NOMPI
+#define __MPI_DUMMY_H__
+#define MPI_Comm int
+#endif
+#include <adios.h>
+#ifdef _NOMPI
+#undef MPI_Comm
+#undef __MPI_DUMMY_H__
+#endif
+
 namespace adios
 {