diff --git a/src/core/cntlr_map.c b/src/core/cntlr_map.c
index f6edf1a8287ef279aa3203b42d56d4c6d5f43959..b4d51d0ed826d17a04a7efde0e39b8d86f4ed24a 100644
--- a/src/core/cntlr_map.c
+++ b/src/core/cntlr_map.c
@@ -824,6 +824,13 @@ int handle_sta_link_metrics_response(void *cntlr, struct cmdu_buff *cmdu)
 			uint8_t wildcard[6] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
 			uint8_t *opclasses, num_opclasses;
 
+			if (!c->cfg.enable_sta_steer) {
+				trace("|%s:%d| rcpi below %d, but will not query for beacon \
+				       metrics to steer as 'enable_sta_steer' not set!\n",
+				       __func__, __LINE__, c->cfg.rcpi_threshold);
+				return 0;
+			}
+
 			dbg("%s %d band = %d\n", __func__, __LINE__, s->fh->band);
 			if (s->fh->band == BAND_5) {
 				num_opclasses = 4;