diff --git a/DDCore/include/DD4hep/Primitives.h b/DDCore/include/DD4hep/Primitives.h
index 2d3213b810226f6fdeaeb821e1615d949e11a229..ab58d895c214366c441a3bd6b9f5bda0ecdceb1a 100644
--- a/DDCore/include/DD4hep/Primitives.h
+++ b/DDCore/include/DD4hep/Primitives.h
@@ -20,6 +20,7 @@
 // C/C++ include files
 #include <limits>
 #include <algorithm>
+#include <stdexcept>
 
 /// Namespace for the AIDA detector description toolkit
 namespace DD4hep {
@@ -57,7 +58,7 @@ namespace DD4hep {
     /// Generic copy constructor
     invalid_handle_exception(const std::exception& e) : std::runtime_error(e.what()) {}
     /// Default destructor of specialized exception
-    virtual ~invalid_handle_exception();
+    virtual ~invalid_handle_exception() throw();
   };
 
   /// ABI information about type names
diff --git a/DDCore/src/Primitives.cpp b/DDCore/src/Primitives.cpp
index 6ce9be8edfbdd16e4b0e8221ee4fc027ee949bf4..62e7614c4aaad7e67276cd4be7cc84e1132d9054 100644
--- a/DDCore/src/Primitives.cpp
+++ b/DDCore/src/Primitives.cpp
@@ -153,7 +153,7 @@ std::string DD4hep::typeName(const std::type_info& typ) {
 }
 
 /// Default destructor of specialized exception
-DD4hep::invalid_handle_exception::~invalid_handle_exception()  {
+DD4hep::invalid_handle_exception::~invalid_handle_exception() throw() {
 }
 
 void DD4hep::invalidHandleError(const std::type_info& type)