diff --git a/vp9/common/vp9_tile_common.c b/vp9/common/vp9_tile_common.c
index ea26289b76ec1dff6589244c683fcc1cc575c210..95296ad6f2a4b7a64a67ce7eda12045395f1ceb5 100644
--- a/vp9/common/vp9_tile_common.c
+++ b/vp9/common/vp9_tile_common.c
@@ -49,10 +49,15 @@ void vp9_get_tile_n_bits(VP9_COMMON *cm, int *min_log2_n_tiles_ptr,
   for (max_log2_n_tiles = 0;
        (sb_cols >> max_log2_n_tiles) >= MIN_TILE_WIDTH_SBS;
        max_log2_n_tiles++) {}
+  max_log2_n_tiles--;
+  if (max_log2_n_tiles <  0)
+    max_log2_n_tiles = 0;
+
   for (min_log2_n_tiles = 0;
        (MAX_TILE_WIDTH_SBS << min_log2_n_tiles) < sb_cols;
        min_log2_n_tiles++) {}
 
+  assert(max_log2_n_tiles >= min_log2_n_tiles);
   *min_log2_n_tiles_ptr = min_log2_n_tiles;
   *delta_log2_n_tiles = max_log2_n_tiles - min_log2_n_tiles;
 }