diff --git a/CMakeLists.txt b/CMakeLists.txt
index f3e63d09aa39110263ad40513a66bc485574e9e8..b81ee3544a607d738d39b27ddaf17c16ec7e13a9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -155,14 +155,16 @@ if(DD4HEP_USE_EDM4HEP)
 #  DD4HEP_SETUP_EDM4HEP_TARGETS()
 endif()
 
-IF(DD4HEP_USE_HEPMC3)
+if(DD4HEP_USE_HEPMC3)
   find_package(HepMC3 REQUIRED)
 
   # Optional dependencies for compressed input support
-  find_package(ZLIB)
-  find_package(LibLZMA)
-  find_package(BZip2)
-ENDIF()
+  if(${HEPMC3_VERSION} VERSION_GREATER_EQUAL "3.02.05")
+    find_package(ZLIB)
+    find_package(LibLZMA)
+    find_package(BZip2)
+  endif()
+endif()
 
 if(DD4HEP_USE_TBB)
   find_package(TBB REQUIRED CONFIG)
diff --git a/DDTest/CMakeLists.txt b/DDTest/CMakeLists.txt
index d3c331f8ddcbeb320fc00bc40914c7b627095efd..f0cd41e0ffa8909b8cbac2b4b9bb4e706016a8af 100644
--- a/DDTest/CMakeLists.txt
+++ b/DDTest/CMakeLists.txt
@@ -60,29 +60,31 @@ if (DD4HEP_USE_GEANT4)
   if(DD4HEP_USE_HEPMC3)
     set(TEST_HEPMC3_EXTENSIONS)
 
-    if(ZLIB_FOUND)
-      file(ARCHIVE_CREATE
-        OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/Pythia_output.hepmc.gz
-        PATHS ${CMAKE_CURRENT_SOURCE_DIR}/inputFiles/Pythia_output.hepmc
-        FORMAT raw
-        COMPRESSION GZip)
-      list(APPEND TEST_HEPMC3_EXTENSIONS .gz)
-    endif()
-    if(LIBLZMA_FOUND)
-      file(ARCHIVE_CREATE
-        OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/Pythia_output.hepmc.xz
-        PATHS ${CMAKE_CURRENT_SOURCE_DIR}/inputFiles/Pythia_output.hepmc
-        FORMAT raw
-        COMPRESSION XZ)
-      list(APPEND TEST_HEPMC3_EXTENSIONS .xz)
-    endif()
-    if(BZIP2_FOUND)
-      file(ARCHIVE_CREATE
-        OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/Pythia_output.hepmc.bz2
-        PATHS ${CMAKE_CURRENT_SOURCE_DIR}/inputFiles/Pythia_output.hepmc
-        FORMAT raw
-        COMPRESSION BZip2)
-      list(APPEND TEST_HEPMC3_EXTENSIONS .bz2)
+    if(${HEPMC3_VERSION} VERSION_GREATER_EQUAL "3.02.05")
+      if(ZLIB_FOUND)
+        file(ARCHIVE_CREATE
+          OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/Pythia_output.hepmc.gz
+          PATHS ${CMAKE_CURRENT_SOURCE_DIR}/inputFiles/Pythia_output.hepmc
+          FORMAT raw
+          COMPRESSION GZip)
+        list(APPEND TEST_HEPMC3_EXTENSIONS .gz)
+      endif()
+      if(LIBLZMA_FOUND)
+        file(ARCHIVE_CREATE
+          OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/Pythia_output.hepmc.xz
+          PATHS ${CMAKE_CURRENT_SOURCE_DIR}/inputFiles/Pythia_output.hepmc
+          FORMAT raw
+          COMPRESSION XZ)
+        list(APPEND TEST_HEPMC3_EXTENSIONS .xz)
+      endif()
+      if(BZIP2_FOUND)
+        file(ARCHIVE_CREATE
+          OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/Pythia_output.hepmc.bz2
+          PATHS ${CMAKE_CURRENT_SOURCE_DIR}/inputFiles/Pythia_output.hepmc
+          FORMAT raw
+          COMPRESSION BZip2)
+        list(APPEND TEST_HEPMC3_EXTENSIONS .bz2)
+      endif()
     endif()
 
     foreach(TEST_HEPMC3_EXTENSION "" ${TEST_HEPMC3_EXTENSIONS})