diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 7cf85b72d71..ee5b6998766 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -7513,6 +7513,7 @@ SHOW_VAR status_vars[]= {
   {"Handler_update",           (char*) offsetof(STATUS_VAR, ha_update_count), SHOW_LONG_STATUS},
   {"Handler_write",            (char*) offsetof(STATUS_VAR, ha_write_count), SHOW_LONG_STATUS},
   {"Key",                      (char*) &show_default_keycache, SHOW_FUNC},
+  {"optimizer_join_prefixes_check_calls",     (char*) offsetof(STATUS_VAR, optimizer_join_prefixes_check_calls), SHOW_LONG_STATUS},
   {"Last_query_cost",          (char*) offsetof(STATUS_VAR, last_query_cost), SHOW_DOUBLE_STATUS},
   {"Max_statement_time_exceeded", (char*) offsetof(STATUS_VAR, max_statement_time_exceeded), SHOW_LONG_STATUS},
   {"Master_gtid_wait_count",   (char*) offsetof(STATUS_VAR, master_gtid_wait_count), SHOW_LONG_STATUS},
diff --git a/sql/sql_class.h b/sql/sql_class.h
index af56eecfe60..5b77073ec1e 100644
--- a/sql/sql_class.h
+++ b/sql/sql_class.h
@@ -888,6 +888,7 @@ typedef struct system_status_var
   ulong filesort_rows_;
   ulong filesort_scan_count_;
   ulong filesort_pq_sorts_;
+  ulong optimizer_join_prefixes_check_calls;
 
   /* Features used */
   ulong feature_custom_aggregate_functions; /* +1 when custom aggregate
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index 24e158694c5..1a942604a84 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -9431,6 +9431,7 @@ best_extension_by_limited_search(JOIN      *join,
 
   DBUG_EXECUTE("opt", print_plan(join, idx, read_time, record_count, idx,
                                  "SOFAR:"););
+  status_var_increment(thd->status_var.optimizer_join_prefixes_check_calls);
 
   /* 
      'join' is a partial plan with lower cost than the best plan so far,
