diff --git a/Testing/Code/Learning/otbSVMModelGenericKernelsTest.cxx b/Testing/Code/Learning/otbSVMModelGenericKernelsTest.cxx
index 24fd314ae6145eb7be9625342042c6a28602ceaf..de2ef29afa9e0497aaed35bf9e5dcf4f7fa7ddcf 100644
--- a/Testing/Code/Learning/otbSVMModelGenericKernelsTest.cxx
+++ b/Testing/Code/Learning/otbSVMModelGenericKernelsTest.cxx
@@ -229,6 +229,30 @@ int otbSVMModelGenericKernelsTest(int argc, char* argv[])
   svmModel->SetModel(model);
   svmModel->SaveModel(argv[17]);
 
+  // Free all memory
+
+  
+  for (int i = 0; i < model->nr_class - 1; ++i)
+    {
+    delete [] model->sv_coef[i];
+    }
+  delete [] model->sv_coef;
+  delete [] model->label;
+  
+  for (int n = 0; n < model->l; ++n)
+    {
+    delete [] model->SV[n];
+    }
+
+  delete [] model->SV;
+  delete model->rho;
+  delete model->probA;
+  delete model->probB;
+  delete [] model->label;
+  delete [] model->nSV;
+  delete model;
+  delete [] p;
+
   return EXIT_SUCCESS;
 }