diff --git a/Utilities/otbossimplugins/ossim/EnvisatAsar/EnvisatAsarData.cpp b/Utilities/otbossimplugins/ossim/EnvisatAsar/EnvisatAsarData.cpp
index efd00a3e21cb38a79f7a41220765f1519c47099c..1c466b370a0052084d3e98863264332e330cc26f 100644
--- a/Utilities/otbossimplugins/ossim/EnvisatAsar/EnvisatAsarData.cpp
+++ b/Utilities/otbossimplugins/ossim/EnvisatAsar/EnvisatAsarData.cpp
@@ -83,7 +83,7 @@ std::istream& operator>>(std::istream& is, EnvisatAsarData& data)
 				EnvisatAsarRecord* record = factory.Instanciate(str);
 				if (record != NULL)
 				{
-					is.seekg((it->get_ds_offset())+ i*(it->get_dsr_size()));
+					is.seekg((std::streampos)(it->get_ds_offset())+ (std::streampos)(i*(it->get_dsr_size())));
 					record->Read(is);
 					data._records.push_back(record);
 				}