diff --git a/examples/hello/datamanReader/helloDataManReader.cpp b/examples/hello/datamanReader/helloDataManReader.cpp
index c830d16f4a49cfebc4040aa616a45c2a73440405..7dc984af37870f05187ff1fbd073a226b11f5d16 100644
--- a/examples/hello/datamanReader/helloDataManReader.cpp
+++ b/examples/hello/datamanReader/helloDataManReader.cpp
@@ -42,13 +42,13 @@ int main(int argc, char *argv[])
         adios::ADIOS adios(adios::DebugON);
 
         adios::IO &dataManIO = adios.DeclareIO("WAN");
-        dataManIO.SetEngine("DataMan");
+        dataManIO.SetEngine("DataManReader");
         dataManIO.SetParameters("real_time=yes", "method_type=stream",
                                 "method=dump");
         auto dataManReader =
             dataManIO.Open("myDoubles.bp", adios::OpenMode::Read);
 
-        if (dataManReader == nullptr)
+        if (!dataManReader)
         {
             throw std::ios_base::failure(
                 "ERROR: failed to create DataMan I/O engine at Open\n");
diff --git a/source/adios2/core/IO.cpp b/source/adios2/core/IO.cpp
index 8d3339a33965cf4b6e9ee0af87379169347c6850..a9753acc3aa3a178605d8eb2ef2eadb06b7b791e 100644
--- a/source/adios2/core/IO.cpp
+++ b/source/adios2/core/IO.cpp
@@ -198,6 +198,17 @@ std::shared_ptr<Engine> IO::Open(const std::string &name,
                                     "HDF5 library, can't use HDF5\n");
 #endif
     }
+    else
+    {
+        if (m_DebugMode)
+        {
+            throw std::invalid_argument("ERROR: engine " + m_EngineType +
+                                        " not supported, IO SetEngine must add "
+                                        "a supported engine, in call to "
+                                        "Open\n");
+        }
+    }
+
     return engine;
 }