Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Meta_Predictor_Glue/src/Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Meta_Predictor_Glue/src/Parameters.cpp	(revision 124)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Meta_Predictor_Glue/src/Parameters.cpp	(revision 128)
@@ -80,4 +80,9 @@
   {
     log_begin(Meta_Predictor_Glue,FUNCTION);
+
+    DELETE1(_predictor_history_mask     ,_nb_predictor);
+    DELETE1(_predictor_history_shift_msb,_nb_predictor);
+    DELETE1(_predictor_history_shift    ,_nb_predictor);
+
     log_end(Meta_Predictor_Glue,FUNCTION);
   };
@@ -88,8 +93,4 @@
   {
     log_begin(Meta_Predictor_Glue,FUNCTION);
-
-    DELETE1(_predictor_history_mask ,_nb_predictor);
-    DELETE1(_predictor_history_shift,_nb_predictor);
-
     log_end(Meta_Predictor_Glue,FUNCTION);
   };
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/src/Meta_Predictor_deallocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/src/Meta_Predictor_deallocation.cpp	(revision 124)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/src/Meta_Predictor_deallocation.cpp	(revision 128)
@@ -45,6 +45,8 @@
     // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
 
-    DELETE0(_component_glue);
-    DELETE1(_component_two_level_branch_predictor,_param->_nb_predictor);
+    delete    _component_glue;
+    for (uint32_t i=0; i<_param->_nb_predictor; ++i)
+    delete    _component_two_level_branch_predictor [i];
+    delete [] _component_two_level_branch_predictor;
 
     delete _component;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/src/Meta_Predictor_statistics_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/src/Meta_Predictor_statistics_allocation.cpp	(revision 124)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/src/Meta_Predictor_statistics_allocation.cpp	(revision 128)
@@ -28,4 +28,8 @@
 		      "Meta_Predictor",
 		      param_statistics);
+
+    for (uint32_t i=0; i<_param->_nb_predictor; ++i)
+    _stat->add_stat(_component_two_level_branch_predictor [i]->_stat);
+    _stat->add_stat(_component_glue                          ->_stat);
     
     log_end(Meta_Predictor,FUNCTION);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/src/Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/src/Parameters.cpp	(revision 124)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/src/Parameters.cpp	(revision 128)
@@ -122,5 +122,8 @@
     log_begin(Meta_Predictor,FUNCTION);
 
-    DELETE1(_param_two_level_branch_predictor, _nb_predictor);
+    delete    _param_glue;
+    for (uint32_t i=0; i<_nb_predictor; ++i)
+    delete    _param_two_level_branch_predictor [i];
+    delete [] _param_two_level_branch_predictor;
 
     DELETE1(_predictor_size_history          , _nb_predictor);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/src/Direction_statistics_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/src/Direction_statistics_allocation.cpp	(revision 124)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/src/Direction_statistics_allocation.cpp	(revision 128)
@@ -28,5 +28,7 @@
 		      param_statistics);
 
-    _stat->add_stat(_component_glue->_stat);
+    if (_param->_have_component_meta_predictor)
+    _stat->add_stat(_component_meta_predictor->_stat);
+    _stat->add_stat(_component_glue          ->_stat);
     
     log_printf(FUNC,Direction,FUNCTION,"End");
