diff --git a/Modules/MPI/MPITiffWriter/include/otbSimpleParallelTiffWriter.txx b/Modules/MPI/MPITiffWriter/include/otbSimpleParallelTiffWriter.txx
index ad665fa48d910d4edb98e4b4fd97174446dbf27f..96cbf7120c497f340b31f7657e7161bbeafd2d63 100644
--- a/Modules/MPI/MPITiffWriter/include/otbSimpleParallelTiffWriter.txx
+++ b/Modules/MPI/MPITiffWriter/include/otbSimpleParallelTiffWriter.txx
@@ -554,21 +554,39 @@ SimpleParallelTiffWriter<TInputImage>
     geotransform[5] = inputPtr->GetSignedSpacing()[1];
 
     // Call SPTW routine that creates the output raster
-    SPTW_ERROR sperr = create_generic_raster(m_FileName,
-        inputPtr->GetLargestPossibleRegion().GetSize()[0],
-        inputPtr->GetLargestPossibleRegion().GetSize()[1],
-        nBands,
-        dataType,
-        geotransform,
-        inputPtr->GetProjectionRef(),
-        block_size_x,
-        m_TiffTiledMode);
-
-    if (sperr != sptw::SP_None)
+    if(!m_TiffTiledMode)
       {
-      itkExceptionMacro(<<"Error creating raster");
-      otb::MPIConfig::Instance()->abort(EXIT_FAILURE);
+      SPTW_ERROR sperr = sptw::create_raster(m_FileName,
+                                             inputPtr->GetLargestPossibleRegion().GetSize()[0],
+                                             inputPtr->GetLargestPossibleRegion().GetSize()[1],
+                                             nBands,
+                                             dataType,
+                                             geotransform,
+                                             inputPtr->GetProjectionRef());
+      if (sperr != sptw::SP_None)
+        {
+        itkExceptionMacro(<<"Error creating raster");
+        otb::MPIConfig::Instance()->abort(EXIT_FAILURE);
+        }
+
+      }
+    else
+      {
+      SPTW_ERROR sperr = sptw::create_tiled_raster(m_FileName,
+                                                   inputPtr->GetLargestPossibleRegion().GetSize()[0],
+                                                   inputPtr->GetLargestPossibleRegion().GetSize()[1],
+                                                   nBands,
+                                                   dataType,
+                                                   geotransform,
+                                                   inputPtr->GetProjectionRef(),
+                                                   block_size_x);
+      if (sperr != sptw::SP_None)
+        {
+        itkExceptionMacro(<<"Error creating raster");
+        otb::MPIConfig::Instance()->abort(EXIT_FAILURE);
+        }
       }
+    
     }
 
   // Wait for rank 0 to finish creating the output raster