diff --git a/Modules/Wrappers/ApplicationEngine/src/otbWrapperOutputImageParameter.cxx b/Modules/Wrappers/ApplicationEngine/src/otbWrapperOutputImageParameter.cxx
index a5a9401d21da7faad0dc17f4f7e26309c0ec84f1..dab96d903fb5fdaf76ca3bbc2e6738076c26dcf0 100644
--- a/Modules/Wrappers/ApplicationEngine/src/otbWrapperOutputImageParameter.cxx
+++ b/Modules/Wrappers/ApplicationEngine/src/otbWrapperOutputImageParameter.cxx
@@ -263,9 +263,14 @@ ClampAndWriteVectorImage( TInput * in ,
 
     if(extension == ".vrt")
       {
-      // Use the WriteMPI function
-      // TODO : create a dedicated filter
-      //~ WriteMPI(clampFilter->GetOutput(),filename,ramValue);      
+      // Use the MPIVrtWriter
+      typedef otb::MPIVrtWriter<TOutput> VRTWriterType;
+
+      typename VRTWriterType::Pointer vrtWriter = VRTWriterType::New();
+      vrtWriter->SetInput(clampFilter->GetOutput());
+      vrtWriter->SetFileName(filename);
+      vrtWriter->SetAvailableRAM(ramValue);
+      ret.second = vrtWriter.GetPointer();
       }
     #ifdef OTB_USE_SPTW
     else if (extension == ".tif")