diff --git a/Utilities/otbossimplugins/ossim/AlosPalsar/AlosPalsarDataSetSummary.cpp b/Utilities/otbossimplugins/ossim/AlosPalsar/AlosPalsarDataSetSummary.cpp
index f17d25b94b0bffc1aca78fdf7186ff16682ad53b..a65928d2af8d2c9520782ffbaf037cfa1882e0bb 100644
--- a/Utilities/otbossimplugins/ossim/AlosPalsar/AlosPalsarDataSetSummary.cpp
+++ b/Utilities/otbossimplugins/ossim/AlosPalsar/AlosPalsarDataSetSummary.cpp
@@ -190,8 +190,11 @@ std::ostream& operator<<(std::ostream& os, const AlosPalsarDataSetSummary& data)
 
   os << "rngcmp_desg:" << data._rngcmp_desg.c_str() << std::endl;
 
+
+  os << "dopcen_range[0]:" << data._dopcen_range[0] << std::endl;
+  os << "dopcen_range[1]:" << data._dopcen_range[1] << std::endl;
   /**
-  * @Data from 1735 to 4096 to be added
+  * @Data from 1767 to 4096 to be added
   */
 
   return os;
@@ -208,8 +211,8 @@ std::istream& operator>>(std::istream& is, AlosPalsarDataSetSummary& data)
   buf8[8] = '\0';
   char buf4[5];
   buf4[4] = '\0';
-  char buf2362[2363];  //data skip from  1735 to 4096//
-  buf2362[2362] = '\0';   //data skip from  1735 to 4096//
+  char buf2330[2331];  //data skip from  1767 to 4096//
+  buf2330[2330] = '\0';   //data skip from  1767 to 4096//
 
   is.read(buf4, 4);
   data._seq_num = atoi(buf4);
@@ -513,11 +516,17 @@ std::istream& operator>>(std::istream& is, AlosPalsarDataSetSummary& data)
   is.read(buf16, 16);
   data._rngcmp_desg = buf16;
 
+  is.read(buf16, 16);
+  data._dopcen_range[0] = atof(buf16);
+
+  is.read(buf16, 16);
+  data._dopcen_range[1] = atof(buf16);
+
   /**
-  * @Data from 1735 to 4096 to be added
+  * @Data from 1767 to 4096 to be added
   */
 
-  is.read(buf2362, 2362);
+  is.read(buf2330, 2330);
 
   return is;
 }
@@ -599,6 +608,7 @@ AlosPalsarDataSetSummary::AlosPalsarDataSetSummary(const AlosPalsarDataSetSummar
     _pix_spacing(rhs._pix_spacing),
     _rngcmp_desg(rhs._rngcmp_desg)
 
+
 //to be added//
 
 {
@@ -630,6 +640,10 @@ AlosPalsarDataSetSummary::AlosPalsarDataSetSummary(const AlosPalsarDataSetSummar
   _crt_rate[0] = rhs._crt_rate[0];
   _crt_rate[1] = rhs._crt_rate[1];
   _crt_rate[2] = rhs._crt_rate[2];
+
+  _dopcen_range[0] = rhs._dopcen_range[0];
+  _dopcen_range[1] = rhs._dopcen_range[1];
+
 }
 
 AlosPalsarDataSetSummary& AlosPalsarDataSetSummary::operator=(const AlosPalsarDataSetSummary& rhs)
@@ -737,6 +751,9 @@ AlosPalsarDataSetSummary& AlosPalsarDataSetSummary::operator=(const AlosPalsarDa
   _crt_rate[1] = rhs._crt_rate[1];
   _crt_rate[2] = rhs._crt_rate[2];
 
+  _dopcen_range[0] = rhs._dopcen_range[0];
+  _dopcen_range[1] = rhs._dopcen_range[1];
+
 //to be added//
 
 
diff --git a/Utilities/otbossimplugins/ossim/AlosPalsar/AlosPalsarDataSetSummary.h b/Utilities/otbossimplugins/ossim/AlosPalsar/AlosPalsarDataSetSummary.h
index c23c1589b68b92a8af4e8c0463fe50bce10a5e76..5a2c959bfbd33655a00b57e6e9b4c2c86ae1624b 100644
--- a/Utilities/otbossimplugins/ossim/AlosPalsar/AlosPalsarDataSetSummary.h
+++ b/Utilities/otbossimplugins/ossim/AlosPalsar/AlosPalsarDataSetSummary.h
@@ -666,7 +666,15 @@ public:
   };
 
   /**
-  * @Data from 1735 to 4096 to be added
+  * @brief Along track Doppler frequency terms (in range unit: km)
+  */
+  const double*   get_dopcen_range() const
+  {
+    return _dopcen_range;
+  };
+
+  /**
+  * @Data from 1767 to 4096 to be added
   */
 
 
@@ -1001,7 +1009,12 @@ protected:
   std::string   _rngcmp_desg;
 
   /**
-  * @Data from 1735 to 4096 to be added
+  * @brief Cross track Doppler frequency terms (in range unit: km)
+  */
+  double   _dopcen_range[2];
+
+  /**
+  * @Data from 1767 to 4096 to be added
   */
 
 private:
diff --git a/Utilities/otbossimplugins/ossim/AlosPalsar/AlosPalsarLeader.cpp b/Utilities/otbossimplugins/ossim/AlosPalsar/AlosPalsarLeader.cpp
index 334f1ddbaaab3e6e45eccc2b25950e28dd5bd6e5..f98b870553d834307ad5268a8192288058c103e4 100644
--- a/Utilities/otbossimplugins/ossim/AlosPalsar/AlosPalsarLeader.cpp
+++ b/Utilities/otbossimplugins/ossim/AlosPalsar/AlosPalsarLeader.cpp
@@ -176,6 +176,8 @@ bool AlosPalsarLeader::saveState(ossimKeywordlist& kwl,
     kwl.add(prefix, "alt_dopcen[0]", datasetSummary->get_alt_dopcen()[0], true);
     kwl.add(prefix, "crt_dopcen[0]", datasetSummary->get_crt_dopcen()[0], true);
     kwl.add(prefix, "crt_dopcen[1]", datasetSummary->get_crt_dopcen()[1], true);
+    kwl.add(prefix, "dopcen_range[0]", datasetSummary->get_dopcen_range()[0], true);
+    kwl.add(prefix, "dopcen_range[1]", datasetSummary->get_dopcen_range()[1], true);
     //FIXME check if those data are available
 //     kwl.add(prefix, "zero_dop_range_time_f_pixel", datasetSummary->get_zero_dop_range_time_f_pixel(),true);
 //     kwl.add(prefix, "zero_dop_range_time_c_pixel", datasetSummary->get_zero_dop_range_time_c_pixel(),true);
diff --git a/Utilities/otbossimplugins/ossim/AlosPalsar/AlosPalsarSignalData.cpp b/Utilities/otbossimplugins/ossim/AlosPalsar/AlosPalsarSignalData.cpp
index 71b0cf16e47af6500d4f91cb63a30f170b027f0f..fdb033932659646e64f30d0153519d28ad140684 100644
--- a/Utilities/otbossimplugins/ossim/AlosPalsar/AlosPalsarSignalData.cpp
+++ b/Utilities/otbossimplugins/ossim/AlosPalsar/AlosPalsarSignalData.cpp
@@ -42,9 +42,6 @@ std::istream& operator>>(std::istream& is, AlosPalsarSignalData& data)
   ossim_uint32 tmpuint32;
   ossimEndian oe;
 
-  std::cout << std::endl << "File pointer location = " << is.tellg() << std::endl;
-  std::cout << std::endl;
-
   is.read(reinterpret_cast<char*>(&tmpuint32), 4);
   if (oe.getSystemEndianType() == OSSIM_LITTLE_ENDIAN)
   {
diff --git a/Utilities/otbossimplugins/ossim/ossimAlosPalsarModel.cpp b/Utilities/otbossimplugins/ossim/ossimAlosPalsarModel.cpp
index 7680b165a4d07d38f628c5533ff78dcfedb71a0e..58bcbb02ca6e8abf842fa080c30ff69de4e3c9a3 100644
--- a/Utilities/otbossimplugins/ossim/ossimAlosPalsarModel.cpp
+++ b/Utilities/otbossimplugins/ossim/ossimAlosPalsarModel.cpp
@@ -33,14 +33,9 @@ static ossimTrace traceDebug("ossimAlosPalsarModel:debug");
 #include <string>
 #include <algorithm>
 
-// FIXME
-#include <iostream>
-// Testing
-
 namespace ossimplugins
 {
 
-
 RTTI_DEF1(ossimAlosPalsarModel, "ossimAlosPalsarModel", ossimGeometricSarSensorModel);
 
 ossimAlosPalsarModel::ossimAlosPalsarModel():
@@ -102,20 +97,10 @@ bool ossimAlosPalsarModel::InitSensorParams(const ossimKeywordlist &kwl, const c
   const char* ellip_min_str = kwl.find(prefix, "ellip_min");
   double ellip_min = atof(ellip_min_str) * 1000.0;  // km -> m
 
-  const char* dopcen_str = kwl.find(prefix, "crt_dopcen[0]");
+  const char* dopcen_str = kwl.find(prefix, "dopcen_range[0]");
   double dopcen = atof(dopcen_str);
-  const char* dopcenLinear_str = kwl.find(prefix, "crt_dopcen[1]");
-  const char* rangeToFirstData_str = kwl.find(prefix, "slant_range_to_1st_data_sample");
-  double dopcenLinear;
-  double rangeToFirstData;
-  if (dopcenLinear_str != NULL) {
-	  dopcenLinear = atof(dopcenLinear_str);
-	  if (rangeToFirstData_str != NULL) {
-		  rangeToFirstData = atof(rangeToFirstData_str);
-	  }
-	  std::cout << "dopcenLinear = " << dopcenLinear << std::endl;
-	  std::cout << "rangeToFirstData = " << rangeToFirstData << std::endl;
-  }
+  const char* dopcenLinear_str = kwl.find(prefix, "dopcen_range[1]");
+  double dopcenLinear = atof(dopcenLinear_str);
 
   if (_sensor != NULL)
   {
@@ -166,7 +151,6 @@ bool ossimAlosPalsarModel::InitSensorParams(const ossimKeywordlist &kwl, const c
 
   _sensor->set_dopcen(dopcen);
   _sensor->set_dopcenLinear(dopcenLinear);
-  _sensor->set_rangeToFirstData(rangeToFirstData);
 
   return true;
 }
diff --git a/Utilities/otbossimplugins/ossim/otb/SarSensor.cpp b/Utilities/otbossimplugins/ossim/otb/SarSensor.cpp
index 8f6e7aab8785bf822c3b7fad4ce8942b3647f605..4381b95efa195a54a0d5b74069f0b073a7fed619 100644
--- a/Utilities/otbossimplugins/ossim/otb/SarSensor.cpp
+++ b/Utilities/otbossimplugins/ossim/otb/SarSensor.cpp
@@ -21,9 +21,6 @@
 #include <otb/GeodesicCoordinate.h>
 #include <complex>
 
-// FIXME
-#include <iostream>
-// Just for testing
 
 namespace ossimplugins
 {
@@ -59,24 +56,7 @@ int SarSensor::ImageToWorld(double distance, JSDDateTime time, double height, do
   double dopcenLinear = _params->get_dopcenLinear();
   if (dopcenLinear != 0.0)
   {
-	  const double C = 2.99792458e+8 ;
-
-	  double prf = _params->get_prf();
-	  double sf = _params->get_sf();
-	  double range0 = _params->get_rangeToFirstData();
-
-	  int rangePix = (distance - range0) * 2 * sf / C;
-
-	  dopplerCentroid += dopcenLinear * rangePix;
-
-	  //FIXME nrangelooks?
-	  std::cout << "dopcenLinear = " << dopcenLinear << std::endl;
-	  std::cout << "prf = " << prf << std::endl;
-	  std::cout << "sf = " << sf << std::endl;
-	  std::cout << "range0 = " << range0 << std::endl;
-	  std::cout << "rangePix = " << rangePix << std::endl;
-	  std::cout << "dopplerCentroid = " << dopplerCentroid << std::endl;
-	  //Testing
+	  dopplerCentroid += dopcenLinear * distance/1000; // Hz/km
   }
 
   // note : the Doppler frequency is set to zero
diff --git a/Utilities/otbossimplugins/ossim/otb/SensorParams.cpp b/Utilities/otbossimplugins/ossim/otb/SensorParams.cpp
index a5a93f97c6451478ad6df612ee28d39931540ced..4cf3903175e71c4c534821ee66af3216ebe42f51 100644
--- a/Utilities/otbossimplugins/ossim/otb/SensorParams.cpp
+++ b/Utilities/otbossimplugins/ossim/otb/SensorParams.cpp
@@ -44,8 +44,7 @@ SensorParams::SensorParams():
    _nAzimuthLook(1),
    _nRangeLook(1),
    _dopcen(0.0),
-   _dopcenLinear(0.0),
-   _rangeToFirstData(0.0)
+   _dopcenLinear(0.0)
 {
 }
 
@@ -65,8 +64,7 @@ SensorParams::SensorParams(const SensorParams& rhs):
    _nAzimuthLook(rhs._nAzimuthLook),
    _nRangeLook(rhs._nRangeLook),
    _dopcen(rhs._dopcen),
-   _dopcenLinear(rhs._dopcenLinear),
-   _rangeToFirstData(rhs._rangeToFirstData)
+   _dopcenLinear(rhs._dopcenLinear)
 {
 }
 
@@ -86,7 +84,6 @@ SensorParams& SensorParams::operator=(const SensorParams& rhs)
    _semiMinorAxis = rhs._semiMinorAxis;
    _dopcen = rhs._dopcen;
    _dopcenLinear = rhs._dopcenLinear;
-   _rangeToFirstData = rhs._rangeToFirstData;
    return *this;
 }
 
@@ -111,7 +108,6 @@ bool SensorParams::saveState(ossimKeywordlist& kwl, const char* prefix) const
    kwl.add(pfx.c_str(), NUM_RANGE_LOOKS_KW, _nRangeLook);
    kwl.add(pfx.c_str(), DOPCEN_KW, _dopcen);
    kwl.add(pfx.c_str(), DOPCENLINEAR_KW, _dopcenLinear);
-   kwl.add(pfx.c_str(), RANGETOFIRSTDATA_KW, _rangeToFirstData);
    return true;
 }
 
@@ -270,18 +266,6 @@ bool SensorParams::loadState(const ossimKeywordlist& kwl, const char* prefix)
    }
    return result;
 
-   lookup = kwl.find(pfx.c_str(), RANGETOFIRSTDATA_KW);
-   if (lookup)
-   {
-      s = lookup;
-      _rangeToFirstData = s.toDouble();
-   }
-   else
-   {
-      result = false;
-   }
-   return result;
-
 }
 
 }
diff --git a/Utilities/otbossimplugins/ossim/otb/SensorParams.h b/Utilities/otbossimplugins/ossim/otb/SensorParams.h
index f4c487efada4296769af0413c0f42b8aae41ed0e..b553317090316bb26b221a9b64f274e4b67a0c93 100644
--- a/Utilities/otbossimplugins/ossim/otb/SensorParams.h
+++ b/Utilities/otbossimplugins/ossim/otb/SensorParams.h
@@ -178,16 +178,6 @@ public:
 	   _dopcenLinear = value;
    }
 
-   double get_rangeToFirstData() const
-   {
-	   return _rangeToFirstData;
-   }
-
-   void set_rangeToFirstData(double value)
-   {
-	   _rangeToFirstData = value;
-   }
-
 
    /**
     * @brief Method to save object state to a keyword list.
@@ -258,20 +248,15 @@ protected:
    double _nRangeLook ;
 
    /**
-    * @brief Doppler centroid
+    * @brief Doppler centroid (at range 0)
     */
    double _dopcen;
 
    /**
-    * @brief Doppler centroid linear term (wrt range pixel)
+    * @brief Doppler centroid linear term (wrt range in km)
     */
    double _dopcenLinear;
 
-   /**
-    * @brief Slant range to first data sample
-    */
-   double _rangeToFirstData;
-
 
 private:
 };