diff --git a/Modules/Adapters/OSSIMAdapters/include/otbImageKeywordlist.h b/Modules/Adapters/OSSIMAdapters/include/otbImageKeywordlist.h
index fdd5e519142d85086d905111006fd9bff9cc552b..c4896159bb76d6801aabb6904b6401073dacb85d 100644
--- a/Modules/Adapters/OSSIMAdapters/include/otbImageKeywordlist.h
+++ b/Modules/Adapters/OSSIMAdapters/include/otbImageKeywordlist.h
@@ -127,7 +127,9 @@ public:
 
   ImageKeywordlist(const Self &);
   void operator =(const Self&);
-  bool operator ==(const Self&);
+
+  bool operator ==(const Self&) const;
+  inline bool operator != ( const Self & ) const;
 
 protected:
   /** Methods invoked by Print() to print information about the object
@@ -154,6 +156,14 @@ ImageKeywordlist ReadGeometryFromGEOMFile(const std::string& filename);
 ImageKeywordlist ReadGeometryFromRPCTag(const std::string& filename);
 void WriteGeometry(const ImageKeywordlist& otb_kwl, const std::string& filename);
 
+inline
+bool
+ImageKeywordlist
+::operator !=( const Self & p ) const
+{
+  return !this->operator == ( p );
+}
+
 } //namespace otb
 
 #endif // __otbImageKeywordlist_h
diff --git a/Modules/Adapters/OSSIMAdapters/src/otbImageKeywordlist.cxx b/Modules/Adapters/OSSIMAdapters/src/otbImageKeywordlist.cxx
index 1da8f71eafb8e37b919b247cc5f4e5519e055f75..ef4a9ce607b3efe5a71d429f79f4abb6b78ca0e1 100644
--- a/Modules/Adapters/OSSIMAdapters/src/otbImageKeywordlist.cxx
+++ b/Modules/Adapters/OSSIMAdapters/src/otbImageKeywordlist.cxx
@@ -59,8 +59,8 @@ operator =(const Self& p)
 }
 
 bool
-ImageKeywordlist::
-operator ==(const Self& p)
+ImageKeywordlist
+::operator ==(const Self& p) const
 {
   return m_Keywordlist == p.m_Keywordlist;
 }