diff --git a/Modules/Applications/AppClassification/app/otbTrainVectorClassifier.cxx b/Modules/Applications/AppClassification/app/otbTrainVectorClassifier.cxx
index 935de9401c352ed5b1283d3447a1070f1e43adb2..55ae73e91c51e4cd09cedcf1bd95a88ce75a50be 100644
--- a/Modules/Applications/AppClassification/app/otbTrainVectorClassifier.cxx
+++ b/Modules/Applications/AppClassification/app/otbTrainVectorClassifier.cxx
@@ -52,12 +52,12 @@ public:
 protected:
   void DoInit()
   {
-    TrainVectorBase::DoInit();
+    Superclass::DoInit();
   }
 
   void DoUpdateParameters()
   {
-    TrainVectorBase::DoUpdateParameters();
+    Superclass::DoUpdateParameters();
   }
 
   void DoExecute()
@@ -73,7 +73,7 @@ protected:
         }
       }
 
-      TrainVectorBase::DoExecute();
+      Superclass::DoExecute();
 
       if (GetClassifierCategory() == Supervised)
         {
diff --git a/Modules/Applications/AppClassification/include/otbTrainVectorBase.txx b/Modules/Applications/AppClassification/include/otbTrainVectorBase.txx
index 9e91e70fc50a04e73ae4e33e5231d5bfc2584bf5..c7fdda03d9db634f07dac21e88d0deade17f753e 100644
--- a/Modules/Applications/AppClassification/include/otbTrainVectorBase.txx
+++ b/Modules/Applications/AppClassification/include/otbTrainVectorBase.txx
@@ -101,13 +101,11 @@ void TrainVectorBase::DoInit()
   Superclass::DoInit();
 
   AddRANDParameter();
-
-  DoInit();
 }
 
 void TrainVectorBase::DoUpdateParameters()
 {
-  LearningApplicationBase::DoUpdateParameters();
+  Superclass::DoUpdateParameters();
 
   // if vector data is present and updated then reload fields
   if( HasValue( "io.vd" ) )
@@ -141,8 +139,6 @@ void TrainVectorBase::DoUpdateParameters()
         }
       }
     }
-
-  DoUpdateParameters();
 }
 
 void TrainVectorBase::DoExecute()