diff --git a/source/branches/CLASSV3/include/FabricationPlant.hxx b/source/branches/CLASSV3/include/FabricationPlant.hxx
index fd829804dab6dfbad2f98ffdc337dce598a2a05d..0b2684f38a00a7a3e8262878f553a673220cbc38 100644
--- a/source/branches/CLASSV3/include/FabricationPlant.hxx
+++ b/source/branches/CLASSV3/include/FabricationPlant.hxx
@@ -184,6 +184,7 @@ protected :
 	bool	fSubstitutionFuel;		//!< true if a subtitution fuel as been set
 
 	void	FabricationPlantEvolution(cSecond t);	//!< Deal the FabricationPlant Evolution
+	void 	ResetArrays(); //!< empty the fFertileArray and fFissileArray
 
 
 #ifndef __CINT__
diff --git a/source/branches/CLASSV3/src/FabricationPlant.cxx b/source/branches/CLASSV3/src/FabricationPlant.cxx
index 5abc02eff8b2ec12015c5876579495a9e800d078..804ba2e5ffa57d184519e6ba5aff73b85820aa5b 100644
--- a/source/branches/CLASSV3/src/FabricationPlant.cxx
+++ b/source/branches/CLASSV3/src/FabricationPlant.cxx
@@ -253,6 +253,7 @@ void FabricationPlant::BuildFuelForReactor(int ReactorId, cSecond t)
 				if(!IResult.second)
 					IResult.first->second = EmptyIV;
 			}
+			ResetArrays();
 		}
 		else
 		{
@@ -563,8 +564,15 @@ DBGL
 	else
 		GetParc()->AddOutIncome( fFertileArray[0]*LambdaArray.back() );
 
+	ResetArrays();
 
-	//Clear the Building Array (Fissile and Fertile)
+
+DBGL
+}
+//________________________________________________________________________
+void FabricationPlant::ResetArrays()
+{
+		//Clear the Building Array (Fissile and Fertile)
 	fFissileArray.clear();
 	fFissileArrayTime.clear();
 	fFissileArrayAdress.clear();
@@ -573,11 +581,8 @@ DBGL
 	fFertileArrayAdress.clear();
 
 	fFertileList = fFissileList = IsotopicVector();
-
-DBGL
 }
-
-	//________________________________________________________________________
+//________________________________________________________________________
 pair<IsotopicVector, IsotopicVector> FabricationPlant::Separation(IsotopicVector isotopicvector, IsotopicVector ExtractedList)
 {
 DBGL