diff --git a/Modules/Adapters/OSSIMAdapters/src/CMakeLists.txt b/Modules/Adapters/OSSIMAdapters/src/CMakeLists.txt
index 20046e7b0d3da9e9a30a306c9e3474cc2f39de09..5bb6d442694c4c355182ad5d7de345d45c8299da 100644
--- a/Modules/Adapters/OSSIMAdapters/src/CMakeLists.txt
+++ b/Modules/Adapters/OSSIMAdapters/src/CMakeLists.txt
@@ -41,7 +41,16 @@ target_link_libraries(OTBOSSIMAdapters
   ${OTBOssim_LIBRARIES}
   ${OTBOssimPlugins_LIBRARIES}
   ${OTBOpenThreads_LIBRARIES}
-
   )
 
 otb_module_target(OTBOSSIMAdapters)
+
+# add the OTB_OSSIM_VERSION definition
+get_target_property(_OTBOSSIMAdapters_COMP_DEF OTBOSSIMAdapters COMPILE_DEFINITIONS)
+if(_OTBOSSIMAdapters_COMP_DEF)
+  set_target_properties(OTBOSSIMAdapters
+    PROPERTIES COMPILE_DEFINITIONS "${_OTBOSSIMAdapters_COMP_DEF};OTB_OSSIM_VERSION=${OTB_OSSIM_VERSION}")
+else()
+  set_target_properties(OTBOSSIMAdapters
+    PROPERTIES COMPILE_DEFINITIONS "OTB_OSSIM_VERSION=${OTB_OSSIM_VERSION}")
+endif()
diff --git a/Modules/Adapters/OSSIMAdapters/src/otbRPCSolverAdapter.cxx b/Modules/Adapters/OSSIMAdapters/src/otbRPCSolverAdapter.cxx
index dce63c8c53306778bebec12a9c257cf5cb75c938..493cd5f8df045be26bc20076c282ab57a8867510 100644
--- a/Modules/Adapters/OSSIMAdapters/src/otbRPCSolverAdapter.cxx
+++ b/Modules/Adapters/OSSIMAdapters/src/otbRPCSolverAdapter.cxx
@@ -112,7 +112,11 @@ RPCSolverAdapter::Solve(const GCPsContainerType& gcpContainer,
   rmsError = rpcSolver->getRmsError();
 
   // Retrieve the output RPC projection
+#if OTB_OSSIM_VERSION < 20200
   ossimRefPtr<ossimRpcProjection> rpcProjection = dynamic_cast<ossimRpcProjection*>(rpcSolver->createRpcProjection()->getProjection());
+#else
+  ossimRefPtr<ossimRpcModel> rpcProjection = rpcSolver->getRpcModel();
+#endif
 
   // Export the sensor model in an ossimKeywordlist
   ossimKeywordlist geom_kwl;
diff --git a/Modules/ThirdParty/Ossim/otb-module-init.cmake b/Modules/ThirdParty/Ossim/otb-module-init.cmake
index 12dd30732410af3a723c8a6cbca56558a7520a9e..e6fbb52c4252ee098e6866127507d504616694ab 100644
--- a/Modules/ThirdParty/Ossim/otb-module-init.cmake
+++ b/Modules/ThirdParty/Ossim/otb-module-init.cmake
@@ -19,3 +19,5 @@
 #
 
 find_package ( Ossim REQUIRED )
+
+set(OTB_OSSIM_VERSION ${OSSIM_VERSION_NUMBER} CACHE INTERNAL "Ossim version detected by OTB" FORCE)