diff --git a/DDDigi/io/DigiEdm4hepInput.cpp b/DDDigi/io/DigiEdm4hepInput.cpp
index cc18acb6222d638e9b0eca3dc962dd61f6c608dd..45f2acd4de2e2db2c04c014831d008009a3f5b1e 100644
--- a/DDDigi/io/DigiEdm4hepInput.cpp
+++ b/DDDigi/io/DigiEdm4hepInput.cpp
@@ -16,12 +16,16 @@
 #include "DigiIO.h"
 
 // podio/edm4hep include files
-#include <podio/Frame.h>
-#if PODIO_VERSION_MAJOR > 0 || (PODIO_VERSION_MAJOR == 0 && PODIO_VERSION_MINOR >= 99)
+#include <podio/podioVersion.h>
+#if PODIO_BUILD_VERSION >= PODIO_VERSION(0, 99, 0)
 #include <podio/ROOTReader.h>
 #else
 #include <podio/ROOTFrameReader.h>
+namespace podio {
+  using ROOTReader = podio::ROOTFrameReader;
+}
 #endif
+#include <podio/Frame.h>
 
 #include <edm4hep/SimTrackerHit.h>
 #include <edm4hep/SimCalorimeterHit.h>
@@ -51,11 +55,7 @@ namespace dd4hep {
       const podio::CollectionBase* get(const std::string& nam) const { return frame.get(nam); }
     };
     
-#if PODIO_VERSION_MAJOR > 0 || (PODIO_VERSION_MAJOR == 0 && PODIO_VERSION_MINOR >= 99)
     using reader_t = podio::ROOTReader;
-#else
-    using reader_t = podio::ROOTFrameReader;
-#endif
     using frame_t  = edm4hep_read_frame_t;
 
     /// EDM4HEP Digi input reader: Collection descriptor definition
diff --git a/DDDigi/io/DigiEdm4hepOutput.cpp b/DDDigi/io/DigiEdm4hepOutput.cpp
index 477ae16c959388cde5c919bad790e64ea49ce6ea..591f3432419cfd37f9f4b7d6340e17326b3d57a6 100644
--- a/DDDigi/io/DigiEdm4hepOutput.cpp
+++ b/DDDigi/io/DigiEdm4hepOutput.cpp
@@ -20,11 +20,14 @@
 #include "DigiIO.h"
 
 /// edm4hep include files
-#include <podio/CollectionBase.h>
-#if PODIO_VERSION_MAJOR > 0 || (PODIO_VERSION_MAJOR == 0 && PODIO_VERSION_MINOR >= 99)
+#include <podio/podioVersion.h>
+#if PODIO_BUILD_VERSION >= PODIO_VERSION(0, 99, 0)
 #include <podio/ROOTWriter.h>
 #else
 #include <podio/ROOTFrameWriter.h>
+namespace podio {
+  using ROOTWriter = podio::ROOTFrameWriter;
+}
 #endif
 #include <podio/Frame.h>
 #include <edm4hep/SimTrackerHit.h>
@@ -53,11 +56,7 @@ namespace dd4hep {
       using headercollection_t   = std::pair<std::string,std::unique_ptr<edm4hep::EventHeaderCollection> >;
       DigiEdm4hepOutput*                      m_parent    { nullptr };
       /// Reference to podio writer
-#if PODIO_VERSION_MAJOR > 0 || (PODIO_VERSION_MAJOR == 0 && PODIO_VERSION_MINOR >= 99)
       std::unique_ptr<podio::ROOTWriter>      m_writer    { };
-#else
-      std::unique_ptr<podio::ROOTFrameWriter> m_writer    { };
-#endif
       /// edm4hep event header collection
       headercollection_t                      m_header    { };
       /// MC particle collection
@@ -197,11 +196,7 @@ namespace dd4hep {
       clear();
       m_writer.reset();
       std::string fname = m_parent->next_stream_name();
-#if PODIO_VERSION_MAJOR > 0 || (PODIO_VERSION_MAJOR == 0 && PODIO_VERSION_MINOR >= 99)
       m_writer = std::make_unique<podio::ROOTWriter>(fname);
-#else
-      m_writer = std::make_unique<podio::ROOTFrameWriter>(fname);
-#endif
       m_parent->info("+++ Opened EDM4HEP output file %s", fname.c_str());
     }
 
diff --git a/DDG4/edm4hep/Geant4Output2EDM4hep.cpp b/DDG4/edm4hep/Geant4Output2EDM4hep.cpp
index 7745bab0688b8b343f59d5c95c97c3d8ee3208a1..228531d667ff68908d3b4bc9c6209cbf09e3eea6 100644
--- a/DDG4/edm4hep/Geant4Output2EDM4hep.cpp
+++ b/DDG4/edm4hep/Geant4Output2EDM4hep.cpp
@@ -26,13 +26,16 @@
 #include <edm4hep/SimCalorimeterHitCollection.h>
 #include <edm4hep/EDM4hepVersion.h>
 /// podio include files
+#include <podio/podioVersion.h>
 #include <podio/Frame.h>
-#if PODIO_VERSION_MAJOR > 0 || (PODIO_VERSION_MAJOR == 0 && PODIO_VERSION_MINOR >= 99)
+#if PODIO_BUILD_VERSION >= PODIO_VERSION(0, 99, 0)
 #include <podio/ROOTWriter.h>
 #else
 #include <podio/ROOTFrameWriter.h>
+namespace podio {
+  using ROOTWriter = podio::ROOTFrameWriter;
+}
 #endif
-#include <podio/podioVersion.h>
 
 /// Namespace for the AIDA detector description toolkit
 namespace dd4hep {
@@ -52,11 +55,7 @@ namespace dd4hep {
      */
     class Geant4Output2EDM4hep : public Geant4OutputAction  {
     protected:
-#if PODIO_VERSION_MAJOR > 0 || (PODIO_VERSION_MAJOR == 0 && PODIO_VERSION_MINOR >= 99)
       using writer_t = podio::ROOTWriter;
-#else
-      using writer_t = podio::ROOTFrameWriter;
-#endif
       using stringmap_t = std::map< std::string, std::string >;
       using trackermap_t = std::map< std::string, edm4hep::SimTrackerHitCollection >;
       using calorimeterpair_t = std::pair< edm4hep::SimCalorimeterHitCollection, edm4hep::CaloHitContributionCollection >;
@@ -246,11 +245,7 @@ void Geant4Output2EDM4hep::beginRun(const G4Run* run)  {
     }
   }
   if ( !fname.empty() )   {
-#if PODIO_VERSION_MAJOR > 0 || (PODIO_VERSION_MAJOR == 0 && PODIO_VERSION_MINOR >= 99)
     m_file = std::make_unique<podio::ROOTWriter>(fname);
-#else
-    m_file = std::make_unique<podio::ROOTFrameWriter>(fname);
-#endif
     if ( !m_file )   {
       fatal("+++ Failed to open output file: %s", fname.c_str());
     }