diff --git a/ChangeLog b/ChangeLog
index 247c0c56f69f17e15c5d0d2b9e73a154cc3ad608..59a1af4ebe27bf5f8700fa64557d988a74ccc8b6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,7 @@
 2025-03-14  Uwe Schulzweida
 
 	* cat, mergetime: unpack input data
+	* enable-hirlam-extensions failed since release 2.5.1 (bug fix)
 
 2025-03-05  Uwe Schulzweida
 
diff --git a/configure.ac b/configure.ac
index 075839b1f9273830584dde8a1fdedf26f9e34e52..20a557a121d25b40cab1bbde5842f432704340aa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5,7 +5,7 @@
 #  libtool  2.4.2
 
 AC_PREREQ([2.69])
-AC_INIT([cdo],[2.5.1],[https://mpimet.mpg.de/cdo])
+AC_INIT([cdo],[2.5.2],[https://mpimet.mpg.de/cdo])
 
 AC_DEFINE_UNQUOTED(CDO, ["$PACKAGE_VERSION"], [CDO version])
 
diff --git a/libcdi b/libcdi
index b9a7b1f01600456c195ea4b1611098e0d39cdfe7..6729bee6d0a040c99d0f6aac7d768b1adb5a81ee 160000
--- a/libcdi
+++ b/libcdi
@@ -1 +1 @@
-Subproject commit b9a7b1f01600456c195ea4b1611098e0d39cdfe7
+Subproject commit 6729bee6d0a040c99d0f6aac7d768b1adb5a81ee
diff --git a/src/cdo.cc b/src/cdo.cc
index 042d8bc7b44d7e3fe61b210f5d18ff1b38d480a6..8e258f1536f6bd82f198d0388ac55163109b3221 100644
--- a/src/cdo.cc
+++ b/src/cdo.cc
@@ -53,10 +53,6 @@ cdo_exit(std::string msg = "")
 
 static bool applyDryRun = false;
 
-#ifdef HIRLAM_EXTENSIONS
-extern "C" void streamGrbDefDataScanningMode(int scanmode);
-#endif
-
 static void
 cdo_display_syntax_help(std::string const &help, FILE *p_target)
 {
diff --git a/src/cdo_def_options.cc b/src/cdo_def_options.cc
index 5884f029cd00eb1c517773179295eab28a5e5bdc..28d9eb824832309d24dc57d2fa3d3619afa41843 100644
--- a/src/cdo_def_options.cc
+++ b/src/cdo_def_options.cc
@@ -19,6 +19,10 @@
 #include "cdo_zaxis.h"
 #include "chunkspec.h"
 
+#ifdef HIRLAM_EXTENSIONS
+extern "C" void streamGrbDefDataScanningMode(int scanmode);
+#endif
+
 static void
 set_chunkspec_parameter(std::string const &argument)
 {
diff --git a/src/vertical_interp.cc b/src/vertical_interp.cc
index 13a266fa71b93bc813184ec7f5862c359c53868e..111a21da8cb4dd00db5294fc083d5942aa94c366 100644
--- a/src/vertical_interp.cc
+++ b/src/vertical_interp.cc
@@ -171,7 +171,7 @@ extrapolate_Z(double pres, double halfPress, double fullPress, double geop, doub
 
   if (tmsl > ztlim && tstar <= ztlim) tmsl = ztlim;
 
-  if (tmsl - tstar < 0.000001 && tstar - tmsl < 0.000001)
+  if ((tmsl - tstar) < 0.000001 && (tstar - tmsl) < 0.000001)
     alpha = 0.0;
   else if (geop > 0.0001 || geop < -0.0001)
     alpha = PlanetRD * (tmsl - tstar) / geop;