diff --git a/Control/AthenaKernel/AthenaKernel/GenericMetadataTool.icc b/Control/AthenaKernel/AthenaKernel/GenericMetadataTool.icc
index 7faa6a77381c9047b944ee755b38e623b426d68f..9418c4c7e1433aa4623266973ae0a5b3325d7f89 100644
--- a/Control/AthenaKernel/AthenaKernel/GenericMetadataTool.icc
+++ b/Control/AthenaKernel/AthenaKernel/GenericMetadataTool.icc
@@ -322,8 +322,8 @@ StatusCode GenericMetadataTool<T,U>::buildAthenaInterface(const std::string& inp
   // Make sure sid does not already exist in the MetaCont
   for (auto it = mc->sources().begin(); it != mc->sources().end(); ++it) {
     if (*it==sid) {
-      ATH_MSG_ERROR("Metadata already exists for sid " << sid);
-      return StatusCode::FAILURE;   // Fail if sid already exists
+      ATH_MSG_WARNING("Metadata already exists for sid " << sid);
+      return StatusCode::SUCCESS;   // Assume success if sid already exists
     }
   }
 
diff --git a/Control/AthenaKernel/AthenaKernel/GenericMetadataToolNoAux.icc b/Control/AthenaKernel/AthenaKernel/GenericMetadataToolNoAux.icc
index 0ac316e42a298fc51cab3be733bdf146b2b110a3..1299d8030db447fea3783c9ed07521871363e60d 100644
--- a/Control/AthenaKernel/AthenaKernel/GenericMetadataToolNoAux.icc
+++ b/Control/AthenaKernel/AthenaKernel/GenericMetadataToolNoAux.icc
@@ -290,8 +290,8 @@ StatusCode GenericMetadataToolNoAux<T>::buildAthenaInterface(const std::string&
   // Make sure sid does not already exist in the MetaCont
   for (auto it = mc->sources().begin(); it != mc->sources().end(); ++it) {
     if (*it==sid) {
-      ATH_MSG_ERROR("Metadata already exists for sid " << sid);
-      return StatusCode::FAILURE;   // Fail if sid already exists
+      ATH_MSG_WARNING("Metadata already exists for sid " << sid);
+      return StatusCode::SUCCESS;   // Assume success if sid already exists
     }
   }