diff --git a/InnerDetector/InDetConditions/PixelConditionsServices/src/PixelByteStreamErrorsSvc.cxx b/InnerDetector/InDetConditions/PixelConditionsServices/src/PixelByteStreamErrorsSvc.cxx
index 476542769e9df621a3be31d7b95214d9e60c8512..da021b354fda2a254a337263e17463b695033e2f 100644
--- a/InnerDetector/InDetConditions/PixelConditionsServices/src/PixelByteStreamErrorsSvc.cxx
+++ b/InnerDetector/InDetConditions/PixelConditionsServices/src/PixelByteStreamErrorsSvc.cxx
@@ -368,25 +368,11 @@ StatusCode PixelByteStreamErrorsSvc::readData() {
 // record the data to Storegate: for one event, one entry per module with errors
 StatusCode PixelByteStreamErrorsSvc::recordData() {
 
-  StatusCode sc(StatusCode::SUCCESS);
-  bool recorded = m_storeGate->contains<InDetBSErrContainer>("PixelByteStreamErrs"); // check if already recorded (by a previous HLT call for example)
-
-  InDetBSErrContainer* cont;
-  if (!recorded){ // create a new object
-    cont = new InDetBSErrContainer();
-    sc = m_storeGate->record(cont,"PixelByteStreamErrs");
-    if (sc.isFailure() ){
-      msg(MSG::ERROR) <<"Failed to record BSErrors to SG"<<endreq;
-      return sc;
-    }
-  }
-  else{ // already recorded, retrieve object and modify
-    sc = m_storeGate->retrieve(cont,"PixelByteStreamErrs");
-    if (sc.isFailure() ){
-      msg(MSG::ERROR) <<"Failed to retrieve BSErrors from SG, but contains() returns true"<<endreq;
-      return sc;
-    }
-    cont->clear(); // delete and fill anew
+  InDetBSErrContainer* cont = new InDetBSErrContainer();
+  StatusCode sc = m_storeGate->overwrite(cont,"PixelByteStreamErrs");
+  if (sc.isFailure() ){
+    msg(MSG::ERROR) <<"Failed to record/overwrite BSErrors to SG"<<endreq;
+    return sc;
   }
 
   for (unsigned int i=0; i<m_max_hashes; i++) {