diff --git a/Examples/Filtering/GeometriesChangeSpatialReference.cxx b/Examples/Filtering/GeometriesChangeSpatialReference.cxx
index 158bb63b21498e73387b077b9e80d4ff957b4288..b79fc20ec9d85bcaffbddd2ce12dbb383598878b 100644
--- a/Examples/Filtering/GeometriesChangeSpatialReference.cxx
+++ b/Examples/Filtering/GeometriesChangeSpatialReference.cxx
@@ -33,8 +33,16 @@ namespace internal
 {
 struct Deleters
 {
-  void operator()(OGRCoordinateTransformation *p){ OCTDestroyCoordinateTransformation(p); }
-  void operator()(OGRSpatialReference *p){ OGRSpatialReference::DestroySpatialReference(p); }
+  void operator()(OGRCoordinateTransformation *p) const { OCTDestroyCoordinateTransformation(p); }
+  void operator()(OGRSpatialReference *p) const
+    {
+#if GDAL_VERSION_NUM >= 1700
+    OGRSpatialReference::DestroySpatialReference(p);
+#else
+#warning the following resource release may crash, please update your version of GDAL
+    delete p; // note there is no garanty
+#endif
+    }
 };
 } // internal namespace