diff --git a/Modules/Learning/SharkLearning/include/otbSharkRandomForestsMachineLearningModel.txx b/Modules/Learning/SharkLearning/include/otbSharkRandomForestsMachineLearningModel.txx
index 24f604baf0bf095ba1db88f0ca31120326ac7be7..5d92cea948e2a807f7eae02f928d2258d7f2a2f7 100644
--- a/Modules/Learning/SharkLearning/include/otbSharkRandomForestsMachineLearningModel.txx
+++ b/Modules/Learning/SharkLearning/include/otbSharkRandomForestsMachineLearningModel.txx
@@ -112,7 +112,7 @@ typename SharkRandomForestsMachineLearningModel<TInputValue,TOutputValue>
 SharkRandomForestsMachineLearningModel<TInputValue,TOutputValue>
 ::DoPredict(const InputSampleType & value, ConfidenceValueType *quality) const
 {
-  shark::RealVector samples;
+  shark::RealVector samples(value.Size());
   for(size_t i = 0; i < value.Size();i++)
     {
     samples.push_back(value[i]);
diff --git a/Modules/Learning/Supervised/include/otbMachineLearningModel.txx b/Modules/Learning/Supervised/include/otbMachineLearningModel.txx
index 4e790c23a9e0acfc041ccb5f5b0408e8e9ab67b9..d051481ac99e5b225e79a1ff2d194c02b9e29813 100644
--- a/Modules/Learning/Supervised/include/otbMachineLearningModel.txx
+++ b/Modules/Learning/Supervised/include/otbMachineLearningModel.txx
@@ -154,19 +154,18 @@ MachineLearningModel<TInputValue,TOutputValue,TConfidenceValue>
 
   for(unsigned int id = startIndex;id<startIndex+size;++id)
     {
-    TargetSampleType target;
-    ConfidenceValueType confidence;
-
     if(quality!=ITK_NULLPTR)
       {
-      target = this->DoPredict(input->GetMeasurementVector(id),&confidence);
+      ConfidenceValueType confidence = 0;
+      const TargetSampleType target = this->DoPredict(input->GetMeasurementVector(id),&confidence);
       quality->SetMeasurementVector(id,confidence);
+      targets->SetMeasurementVector(id,target);
       }
     else
       {
-      target = this->DoPredict(input->GetMeasurementVector(id));
+      const TargetSampleType target = this->DoPredict(input->GetMeasurementVector(id));
+      targets->SetMeasurementVector(id,target);
       }
-    targets->SetMeasurementVector(id,target);
     }
 }