diff --git a/ChangeLog b/ChangeLog
index 1a19b340759c1a7e17efc7dde0b5662f1e1736b5..9dd478501462a8e4cb981943d14290085509b91a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2023-06-04  Uwe Schulzweida
+
+	* gribapiDefGridLCC: store DxInMetres/DyInMetres as double (bug fix)
+
 2023-05-31  Uwe Schulzweida
 
 	* netcdf: filter coordinates variable name zg and zghalf in is_valid_coordinate()
diff --git a/src/stream_gribapi.c b/src/stream_gribapi.c
index d236779b4394ac977b14f86bb632952494efa8da..ea262dd804eddac527baa8b644208814c987110c 100644
--- a/src/stream_gribapi.c
+++ b/src/stream_gribapi.c
@@ -2258,8 +2258,10 @@ gribapiDefGridLCC(grib_handle *gh, int editionNumber, int gridID, int uvRelative
 
   GRIB_CHECK(my_grib_set_long(gh, "Nx", xsize), 0);
   GRIB_CHECK(my_grib_set_long(gh, "Ny", ysize), 0);
-  GRIB_CHECK(my_grib_set_long(gh, "DxInMetres", lround(fabs(xinc))), 0);
-  GRIB_CHECK(my_grib_set_long(gh, "DyInMetres", lround(fabs(yinc))), 0);
+  // GRIB_CHECK(my_grib_set_long(gh, "DxInMetres", lround(fabs(xinc))), 0);
+  // GRIB_CHECK(my_grib_set_long(gh, "DyInMetres", lround(fabs(yinc))), 0);
+  GRIB_CHECK(my_grib_set_double(gh, "DxInMetres", fabs(xinc)), 0);
+  GRIB_CHECK(my_grib_set_double(gh, "DyInMetres", fabs(yinc)), 0);
   GRIB_CHECK(my_grib_set_double(gh, "longitudeOfFirstGridPointInDegrees", gpp.xval_0), 0);
   GRIB_CHECK(my_grib_set_double(gh, "latitudeOfFirstGridPointInDegrees", gpp.yval_0), 0);
   GRIB_CHECK(my_grib_set_double(gh, "LoVInDegrees", gpp.lon_0), 0);
@@ -2301,8 +2303,10 @@ gribapiDefGridSTERE(grib_handle *gh, int gridID)
 
   GRIB_CHECK(my_grib_set_long(gh, "Nx", xsize), 0);
   GRIB_CHECK(my_grib_set_long(gh, "Ny", ysize), 0);
-  GRIB_CHECK(my_grib_set_long(gh, "DxInMetres", lround(xinc)), 0);
-  GRIB_CHECK(my_grib_set_long(gh, "DyInMetres", lround(yinc)), 0);
+  // GRIB_CHECK(my_grib_set_long(gh, "DxInMetres", lround(xinc)), 0);
+  // GRIB_CHECK(my_grib_set_long(gh, "DyInMetres", lround(yinc)), 0);
+  GRIB_CHECK(my_grib_set_double(gh, "DxInMetres", xinc), 0);
+  GRIB_CHECK(my_grib_set_double(gh, "DyInMetres", yinc), 0);
   GRIB_CHECK(my_grib_set_double(gh, "longitudeOfFirstGridPointInDegrees", gpp.xval_0), 0);
   GRIB_CHECK(my_grib_set_double(gh, "latitudeOfFirstGridPointInDegrees", gpp.yval_0), 0);
   GRIB_CHECK(my_grib_set_double(gh, "LaDInDegrees", gpp.lat_1), 0);