diff --git a/Code/Projections/otbGenericMapProjection.h b/Code/Projections/otbGenericMapProjection.h
index 1b7e351bc2b73f829326229991567225e875872f..dabc491fc064bbe81cefa17a6bd3e611e6746351 100644
--- a/Code/Projections/otbGenericMapProjection.h
+++ b/Code/Projections/otbGenericMapProjection.h
@@ -101,6 +101,8 @@ public:
 
   const MapProjectionWrapper* GetMapProjection() const;
 
+  virtual bool IsProjectionDefined();
+
 protected:
   GenericMapProjection();
   virtual ~GenericMapProjection();
diff --git a/Code/Projections/otbGenericMapProjection.txx b/Code/Projections/otbGenericMapProjection.txx
index 132cb993f4a4ee7687bf07bf27c12267fe85dd3c..05e5823872e93a1913c06805533a9eb161d4c20f 100644
--- a/Code/Projections/otbGenericMapProjection.txx
+++ b/Code/Projections/otbGenericMapProjection.txx
@@ -124,6 +124,15 @@ GenericMapProjection<TDirectionOfMapping, TScalarType, NInputDimensions, NOutput
   m_MapProjection->PrintMap();
 }
 
+template<TransformDirection::TransformationDirection TDirectionOfMapping, class TScalarType, unsigned int NInputDimensions,
+    unsigned int NOutputDimensions>
+bool
+GenericMapProjection<TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions>
+::IsProjectionDefined()
+{
+  return (m_MapProjection->GetMapProjection() != NULL);
+}
+
 
 template<TransformDirection::TransformationDirection TDirectionOfMapping, class TScalarType, unsigned int NInputDimensions,
     unsigned int NOutputDimensions>