diff --git a/sql/opt_subselect.h b/sql/opt_subselect.h
index 7c0e16b08e1..f0234250f8b 100644
--- a/sql/opt_subselect.h
+++ b/sql/opt_subselect.h
@@ -244,7 +244,8 @@ class Loose_scan_opt
           scan will produce more distinct records than it actually will)
         */
         ulong rpc;
-        if ((rpc= s->table->key_info[key].rec_per_key[max_loose_keypart]))
+        if ((rpc= (ulong) s->table->key_info[key].actual_rec_per_key(
+                 max_loose_keypart)))
           records= records / rpc;
 
         // TODO: previous version also did /2
