diff --git a/Modules/Adapters/OSSIMAdapters/include/otbSarSensorModelAdapter.h b/Modules/Adapters/OSSIMAdapters/include/otbSarSensorModelAdapter.h
index 312caa5f3af9c6f326ad0aa0435fd0c8a984d4c3..8a713883b6720d0dd9b8e0ce89c03ae924cd75c9 100644
--- a/Modules/Adapters/OSSIMAdapters/include/otbSarSensorModelAdapter.h
+++ b/Modules/Adapters/OSSIMAdapters/include/otbSarSensorModelAdapter.h
@@ -92,13 +92,13 @@ public:
   (col,row) */
   bool WorldToLineSample(const Point3DType & inGEoPOint, Point2DType & cr) const;
 
-  /** Transform world point (lat,lon,hgt) to cartesian point (x,y,z) */
-  bool WorldToCartesian(const Point3DType & inGeoPoint, Point3DType & outCartesianPoint) const;
-
 /** Transform world point (lat,lon,hgt) to satellite position (x,y,z) and satellite velocity */
   bool WorldToSatPositionAndVelocity(const Point3DType & inGeoPoint, Point3DType & satelitePosition,  
 				     Point3DType & sateliteVelocity) const;
 
+  /** Transform world point (lat,lon,hgt) to cartesian point (x,y,z) */
+  static bool WorldToCartesian(const Point3DType & inGeoPoint, Point3DType & outCartesianPoint);
+
   static bool ImageLineToDeburstLine(const std::vector<std::pair<unsigned long,unsigned long> >& lines, unsigned long imageLine, unsigned long & deburstLine);
 
   static void DeburstLineToImageLine(const std::vector<std::pair<unsigned long,unsigned long> >& lines, unsigned long deburstLine, unsigned long & imageLine);
diff --git a/Modules/Adapters/OSSIMAdapters/src/otbSarSensorModelAdapter.cxx b/Modules/Adapters/OSSIMAdapters/src/otbSarSensorModelAdapter.cxx
index e3b594a8fb75bd0252f95c5598f67b7a3c0beb5a..56bcfbca01f498b1f8cc020b5c8e839ebf809cbb 100644
--- a/Modules/Adapters/OSSIMAdapters/src/otbSarSensorModelAdapter.cxx
+++ b/Modules/Adapters/OSSIMAdapters/src/otbSarSensorModelAdapter.cxx
@@ -117,8 +117,8 @@ bool SarSensorModelAdapter::WorldToLineSampleYZ(const Point3DType & inGeoPoint,
     }
 
   ossimGpt inGpt;
-  inGpt.lat = inGeoPoint[0];
-  inGpt.lon = inGeoPoint[1];
+  inGpt.lon = inGeoPoint[0];
+  inGpt.lat = inGeoPoint[1];
   inGpt.hgt = inGeoPoint[2];
 
   ossimDpt outDpt;
@@ -145,8 +145,8 @@ bool SarSensorModelAdapter::WorldToLineSample(const Point3DType & inGeoPoint, Po
     }
 
   ossimGpt inGpt;
-  inGpt.lat = inGeoPoint[0];
-  inGpt.lon = inGeoPoint[1];
+  inGpt.lon = inGeoPoint[0];
+  inGpt.lat = inGeoPoint[1];
   inGpt.hgt = inGeoPoint[2];
 
   ossimDpt outDpt;
@@ -162,21 +162,14 @@ bool SarSensorModelAdapter::WorldToLineSample(const Point3DType & inGeoPoint, Po
   return true;
 }
 
-bool SarSensorModelAdapter::WorldToCartesian(const Point3DType & inGeoPoint, Point3DType & outCartesianPoint) const
+bool SarSensorModelAdapter::WorldToCartesian(const Point3DType & inGeoPoint, Point3DType & outCartesianPoint)
 {
-  if(m_SensorModel.get() == ITK_NULLPTR)
-    {
-      return false;
-    }
-
   ossimGpt inGpt;
-  inGpt.lat = inGeoPoint[0];
-  inGpt.lon = inGeoPoint[1];
+  inGpt.lon = inGeoPoint[0];
+  inGpt.lat = inGeoPoint[1];
   inGpt.hgt = inGeoPoint[2];
 
-
   ossimEcefPoint outCartesien(inGpt);
-
   
   if(outCartesien.isNan())
     return false;
@@ -186,12 +179,11 @@ bool SarSensorModelAdapter::WorldToCartesian(const Point3DType & inGeoPoint, Poi
   outCartesianPoint[2] = outCartesien.z();
 
   return true;
-
 }
-
-  bool SarSensorModelAdapter::WorldToSatPositionAndVelocity(const Point3DType & inGeoPoint, 
-							    Point3DType & satelitePosition, 
-							    Point3DType & sateliteVelocity) const
+  
+bool SarSensorModelAdapter::WorldToSatPositionAndVelocity(const Point3DType & inGeoPoint, 
+							  Point3DType & satelitePosition, 
+							  Point3DType & sateliteVelocity) const
 {
   if(m_SensorModel.get() == ITK_NULLPTR)
     {
@@ -199,10 +191,9 @@ bool SarSensorModelAdapter::WorldToCartesian(const Point3DType & inGeoPoint, Poi
     }
 
   ossimGpt inGpt;
-  inGpt.lat = inGeoPoint[0];
-  inGpt.lon = inGeoPoint[1];
+  inGpt.lon = inGeoPoint[0];
+  inGpt.lat = inGeoPoint[1];
   inGpt.hgt = inGeoPoint[2];
-
   
   ossimplugins::ossimSarSensorModel::TimeType azimuthTime;
   double rangeTime;
@@ -211,7 +202,7 @@ bool SarSensorModelAdapter::WorldToCartesian(const Point3DType & inGeoPoint, Poi
 
   const bool success = m_SensorModel->worldToAzimuthRangeTime(inGpt, azimuthTime, rangeTime,sensorPos,sensorVel);
   
-  if(sensorPos.isNan())
+  if(sensorPos.isNan() || !success)
     return false;
 
   satelitePosition[0] = sensorPos.x();