diff --git a/DDDigi/src/DigiContainerCombine.cpp b/DDDigi/src/DigiContainerCombine.cpp
index a68e6f53915829aa79362093b7349af8a4580229..700c97c2dc2017de3b8339914f942056592c63df 100644
--- a/DDDigi/src/DigiContainerCombine.cpp
+++ b/DDDigi/src/DigiContainerCombine.cpp
@@ -103,12 +103,14 @@ public:
     for( std::size_t j=start; j < keys.size(); ++j )   {
       if ( keys[j].item() == key.item() )   {
 	DetectorHistory* next = std::any_cast<DetectorHistory>(work[j]);
-	std::string next_name = next->name;
-	cnt = (combine->m_erase_combined) ? out.merge(std::move(*next)) : out.insert(*next);
-	combine->info(format, thr, next_name.c_str(), keys[j].mask(), cnt, "histories"); 
-	used_keys_insert(keys[j]);
-	cnt_hist += cnt;
-	cnt_conts++;
+	if ( next )   {
+	  std::string next_name = next->name;
+	  cnt = (combine->m_erase_combined) ? out.merge(std::move(*next)) : out.insert(*next);
+	  combine->info(format, thr, next_name.c_str(), keys[j].mask(), cnt, "histories");
+	  used_keys_insert(keys[j]);
+	  cnt_hist += cnt;
+	  cnt_conts++;
+	}
       }
     }
     key.set_mask(combine->m_deposit_mask);
@@ -122,12 +124,14 @@ public:
     for( std::size_t j=start; j < keys.size(); ++j )   {
       if ( keys[j].item() == key.item() )   {
 	DetectorResponse* next = std::any_cast<DetectorResponse>(work[j]);
-	std::string next_name = next->name;
-	cnt = (combine->m_erase_combined) ? out.merge(std::move(*next)) : out.insert(*next);
-	combine->info(format, thr, next_name.c_str(), keys[j].mask(), cnt, "responses"); 
-	used_keys_insert(keys[j]);
-	cnt_response += cnt;
-	cnt_conts++;
+	if ( next )   {
+	  std::string next_name = next->name;
+	  cnt = (combine->m_erase_combined) ? out.merge(std::move(*next)) : out.insert(*next);
+	  combine->info(format, thr, next_name.c_str(), keys[j].mask(), cnt, "responses"); 
+	  used_keys_insert(keys[j]);
+	  cnt_response += cnt;
+	  cnt_conts++;
+	}
       }
     }
     key.set_mask(combine->m_deposit_mask);
diff --git a/DDDigi/src/DigiData.cpp b/DDDigi/src/DigiData.cpp
index bbe18cd3ebcadb2eaeb5d69939edb80c6d404367..fc9b20771f00557bb59944efcfc48124baae6fbd 100644
--- a/DDDigi/src/DigiData.cpp
+++ b/DDDigi/src/DigiData.cpp
@@ -450,7 +450,7 @@ void DataSegment::print_keys()   const   {
 
 /// Call on failed any-casts during data requests
 std::string DataSegment::invalid_cast(Key key, const std::type_info& type)  const   {
-  return dd4hep::format(0, "Invalid segment data cast. Key:%-32s %016lX -> %04X %04X %10ld type:%s",
+  return dd4hep::format(0, "Invalid segment data cast. Key:%-32s %016lX -> %04X %04X %08X type:%s",
 			Key::key_name(key).c_str(), key.value(), 
 			key.segment(), key.mask(), key.item(),
 			typeName(type).c_str());
diff --git a/DDDigi/src/DigiStoreDump.cpp b/DDDigi/src/DigiStoreDump.cpp
index d3144fae47889e4fe49274a8559f931a10455c7a..37f9e715ccfcee3c961afe50330f488ed1cd5dbe 100644
--- a/DDDigi/src/DigiStoreDump.cpp
+++ b/DDDigi/src/DigiStoreDump.cpp
@@ -167,7 +167,7 @@ DigiStoreDump::dump_history(DigiContext& context,
   std::vector<std::string> records;
 
   str << Key::key_name(container_key) << "[" << seq_no << "]:";
-  line = format("+----- %-30s Container: Segment:%04X Mask:%04X Item:%08X Cell:%016X Hist: Hits:%ld Parts:%ld",
+  line = format("+----- %-30s Container: Segment:%04X Mask:%04X Item:%08X Cell:%016lX Hist: Hits:%ld Parts:%ld",
 		str.str().c_str(), container_key.segment(), container_key.mask(), container_key.item(),
 		cell, history.hits.size(), history.particles.size());
   records.emplace_back(line);