diff --git a/src/box/tuple_hash.cc b/src/box/tuple_hash.cc
index 4e8e2bac4581e1976e99fc302c5a9dc9f1f8562e..c9dc546752ee331975d32766a81d0c151c314c9f 100644
--- a/src/box/tuple_hash.cc
+++ b/src/box/tuple_hash.cc
@@ -308,13 +308,12 @@ tuple_hash_field(uint32_t *ph1, uint32_t *pcarry, const char **field,
 	 * double and decimal have the same hash.
 	 */
 	if (type == FIELD_TYPE_DOUBLE) {
-		double value;
+		double value = 0;
 		/*
 		 * This will only fail if the mp_type is not numeric, which is
 		 * impossible here (see field_mp_plain_type_is_compatible).
 		 */
-		if (mp_read_double_lossy(field, &value) == -1)
-			unreachable();
+		VERIFY(mp_read_double_lossy(field, &value) == 0);
 		char *double_msgpack_end = mp_encode_double(buf, value);
 		size = double_msgpack_end - buf;
 		assert(size <= sizeof(buf));