diff --git a/Code/UtilitiesAdapters/OGRAdapters/otbOGRDataSourceWrapper.cxx b/Code/UtilitiesAdapters/OGRAdapters/otbOGRDataSourceWrapper.cxx
index c93c62ac825c611e2e0b21e691acb9cd27e2969e..edb33c7681ec33f3ce44c764613d73753e4d6fe2 100644
--- a/Code/UtilitiesAdapters/OGRAdapters/otbOGRDataSourceWrapper.cxx
+++ b/Code/UtilitiesAdapters/OGRAdapters/otbOGRDataSourceWrapper.cxx
@@ -411,7 +411,13 @@ void otb::ogr::DataSource::GetGlobalExtent(double & ulx,
   OGREnvelope sExtent;
   const_iterator lit = this->begin();
   
-  const OGRErr res = lit->ogr().GetExtent(&sExtent,force);
+  if(lit==this->end())
+    { 
+    itkGenericExceptionMacro(<< "Cannot compute global extent because there are no layers in the DataSource");
+    }
+
+    const OGRErr res = lit->ogr().GetExtent(&sExtent,force);
+
 
   if(res!= OGRERR_NONE)
     {