diff --git a/source/branches/CLASSV3/src/CLASSNucleiFiliation.cxx b/source/branches/CLASSV3/src/CLASSNucleiFiliation.cxx
index 6cde32d3b451cfb0addfbbf13115742c69a36821..9560eafbe2382866a6764851c1d4ad51ba764604 100644
--- a/source/branches/CLASSV3/src/CLASSNucleiFiliation.cxx
+++ b/source/branches/CLASSV3/src/CLASSNucleiFiliation.cxx
@@ -98,7 +98,7 @@ void CLASSNucleiFiliation::FiliationCleanUp(map<ZAI, int> GoodNuclei, CLASSNucle
 				{
 					
 					ZAI Mother = DautherList[i];
-					while (FastDecayChain.GetQuantity(-1, -1, -1) != 0 || GoodNuclei.find(Mother) == GoodNuclei.end())
+					while (FastDecayChain.GetQuantity(-1, -1, -1) != 0 && GoodNuclei.find(Mother) == GoodNuclei.end())
 					{
 						Mother = GetArtificialDecay(Mother);			// Do an Artifial decay on the nuclei
 						FastDecayChain = CuttedNuclei.GetFiliation(Mother); // Get the fast decay chain of it
diff --git a/source/branches/CLASSV3/src/IrradiationModel.cxx b/source/branches/CLASSV3/src/IrradiationModel.cxx
index 22553a296828ee448ff54204a313aaa1c3b9f3a4..29ec0143a81adc11d58c62f76acc18f699cbce12 100644
--- a/source/branches/CLASSV3/src/IrradiationModel.cxx
+++ b/source/branches/CLASSV3/src/IrradiationModel.cxx
@@ -402,7 +402,6 @@ CLASSNucleiFiliation IrradiationModel::ReadFPYield(string Yield)
 		MyYield.Add( Fissile[i], FPYields[i] );
 	
 	
-	MyYield.FiliationCleanUp(fMatrixIndex, fFastDecay);		// remove the cutted nuclei....
 	DBGL
 	return MyYield;
 }
@@ -419,14 +418,19 @@ void IrradiationModel::NuclearDataInitialization()
 {
 	DBGL
 	
+	if(fSpontaneusYieldFile!="")
+		fSpontaneusYield = ReadFPYield(fSpontaneusYieldFile);
+	if(fReactionYieldFile!="")
+		fReactionYield = ReadFPYield(fReactionYieldFile);
+
 	LoadDecay();
 	
 	
 	if(fSpontaneusYieldFile!="")
-		fSpontaneusYield = ReadFPYield(fSpontaneusYieldFile);
-	
+		fSpontaneusYield.FiliationCleanUp(fMatrixIndex, fFastDecay);		// remove the cutted nuclei....
 	if(fReactionYieldFile!="")
-		fReactionYield = ReadFPYield(fReactionYieldFile);
+		fReactionYield.FiliationCleanUp(fMatrixIndex, fFastDecay);		// remove the cutted nuclei....
+
 	
 	BuildDecayMatrix();
 	BuildReactionFiliation();
@@ -582,10 +586,10 @@ TMatrixT<double> IrradiationModel::GetCaptureXsMatrix(EvolutionData EvolutionDat
 		if(CaptureProductIV.GetQuantity(ZAI(-1,-1,-1)) != 1)						// Check if ZAI is dealed
 			CaptureMatrix += GetNuclearProcessMatrix( Mother, CaptureProductIV,  XS_Value );	// add the Nuclear process in the Reaction Matrix
 		else
-		{
 			WARNING << "Can't have capture reaction on this nuclei, ZAI : " << Mother.Z() << " " << Mother.A() << " " << Mother.I() << endl;
-			CaptureMatrix += GetNuclearProcessMatrix( Mother, ZAI(-3, -3, -3)*1 , XS_Value );		// add the Nuclear process in the Reaction Matrix
-		}
+			
+		
+	
 		
 		
 	}
@@ -620,10 +624,7 @@ TMatrixT<double> IrradiationModel::Getn2nXsMatrix(EvolutionData EvolutionDataSte
 		if(n2nProductIV.GetQuantity(ZAI(-1,-1,-1)) != 1)						// Check if ZAI is dealed
 			n2nMatrix += GetNuclearProcessMatrix( Mother, n2nProductIV,  XS_Value );	// add the Nuclear process in the Reaction Matrix
 		else
-		{
 			WARNING << "Can't have n,2n reaction on this nuclei, ZAI : " << Mother.Z() << " " << Mother.A() << " " << Mother.I() << endl;
-			n2nMatrix += GetNuclearProcessMatrix( Mother, ZAI(-3, -3, -3)*1 , XS_Value );	// add the Nuclear process in the Reaction Matrix
-		}
 		
 		
 	}