diff --git a/Code/Core/otbWrapperOutputImageParameter.h b/Code/Core/otbWrapperOutputImageParameter.h
index 6bc7685b3f46beda54fb9b4a3c60e4ab5ae15a6e..e9f05801bd5d61a9bf9ec7f30fb753ec70e79457 100644
--- a/Code/Core/otbWrapperOutputImageParameter.h
+++ b/Code/Core/otbWrapperOutputImageParameter.h
@@ -77,12 +77,15 @@ public:
 
   void Write()
   {
-    typedef otb::StreamingImageFileWriter<VectorImageType> WriterType;
-
-    WriterType::Pointer writer = WriterType::New();
-    writer->SetInput(m_Image);
-    writer->SetFileName(this->GetFileName());
-    writer->Update();
+    if (m_Image.IsNotNull())
+      {
+      typedef otb::StreamingImageFileWriter<VectorImageType> WriterType;
+
+      WriterType::Pointer writer = WriterType::New();
+      writer->SetInput(m_Image);
+      writer->SetFileName(this->GetFileName());
+      writer->Update();
+      }
   }
 
 protected: