diff --git a/drivers/net/wireless/wl12xx/scan.c b/drivers/net/wireless/wl12xx/scan.c
index af9d53c8e19c88b0a0e4bc5d4ff1db35f0c18ef1..af4ad2353f59ef45ddc897a299529ee7748f3a24 100644
--- a/drivers/net/wireless/wl12xx/scan.c
+++ b/drivers/net/wireless/wl12xx/scan.c
@@ -490,9 +490,12 @@ wl12xx_scan_sched_scan_ssid_list(struct wl1271 *wl,
 		return -ENOMEM;
 
 	while ((cmd->n_ssids < req->n_ssids) && ssid) {
-		if (ssid->ssid_len == 0)
+		if (ssid->ssid_len == 0) {
 			wildcard = 1;
-		cmd->ssids[cmd->n_ssids].type = SCAN_SSID_TYPE_HIDDEN;
+			cmd->ssids[cmd->n_ssids].type = SCAN_SSID_TYPE_PUBLIC;
+		} else {
+			cmd->ssids[cmd->n_ssids].type = SCAN_SSID_TYPE_HIDDEN;
+		}
 		cmd->ssids[cmd->n_ssids].len = ssid->ssid_len;
 		memcpy(cmd->ssids[cmd->n_ssids].ssid, ssid->ssid,
 		       ssid->ssid_len);