diff --git a/Simulation/ISF/ISF_Fatras/ISF_FatrasTools/src/McMaterialEffectsUpdator.cxx b/Simulation/ISF/ISF_Fatras/ISF_FatrasTools/src/McMaterialEffectsUpdator.cxx
index 21062949d624b5e50f76ad1fee50c6c8ea653a27..bd96b186bf67e923515bfab76d90b9b1f71ff052 100755
--- a/Simulation/ISF/ISF_Fatras/ISF_FatrasTools/src/McMaterialEffectsUpdator.cxx
+++ b/Simulation/ISF/ISF_Fatras/ISF_FatrasTools/src/McMaterialEffectsUpdator.cxx
@@ -621,9 +621,19 @@ const Trk::TrackParameters* iFatras::McMaterialEffectsUpdator::updateInLay(const
       double co = m_layer->surfaceRepresentation().normal().dot( childs[ic]->momentum().unit() );
       double remMat =  ci*co <0 ? (1-matFraction)    : matFraction;
 
-      // loop back      
-      const Trk::TrackParameters* uPar = updateInLay(childs[ic],cparm,remMat,timeLim, pLim, dir, pHypothesis);
-      if (uPar) ATH_MSG_VERBOSE( "Check this: parameters should be dummy here " << isp->pdgCode()<<","<<uPar->position() );
+      // in the validation mode, add process info
+      if (m_validationMode) {
+	ISF::ParticleUserInformation* validInfo = new ISF::ParticleUserInformation();
+	validInfo->setProcess(childs[ic]->getUserInformation()->process());
+	if (isp->getUserInformation()) validInfo->setGeneration(isp->getUserInformation()->generation()+1);
+	else validInfo->setGeneration(1);     // assume parent is a primary track
+        childs[ic]->setUserInformation(validInfo);
+      }
+      // register next geo (is current), next flavor can be defined by filter
+      childs[ic]->setNextGeoID( isp->nextGeoID() );
+      // feed it the particle broker with parent information
+      m_particleBroker->push(childs[ic], isp);
+
 
     }