diff --git a/handler/ha_innodb.cc b/handler/ha_innodb.cc
index 7388f5af9db44ddb30e6f9ffe03ce403459c0455..7e118f0f660220e5cb76e5baff3b248f0aaa0dbe 100644
--- a/handler/ha_innodb.cc
+++ b/handler/ha_innodb.cc
@@ -1144,7 +1144,7 @@ innobase_next_autoinc(
 		} else {
 			next_value = current + increment;
 		}
-	} else {
+	} else if (max_value > current) {
 		if (current > offset) {
 			next_value = ((current - offset) / increment) + 1;
 		} else {
@@ -1168,6 +1168,8 @@ innobase_next_autoinc(
 				next_value += offset;
 			}
 		}
+	} else {
+		next_value = max_value;
 	}
 
 	ut_a(next_value <= max_value);