diff --git a/hoodselector/luasrc/usr/sbin/hoodselector b/hoodselector/luasrc/usr/sbin/hoodselector
index e7179cd0b926af01df19a55ad37094036c456065..5b135af9999070396fe14a86f2fa26dd01f41f2e 100755
--- a/hoodselector/luasrc/usr/sbin/hoodselector
+++ b/hoodselector/luasrc/usr/sbin/hoodselector
@@ -343,9 +343,6 @@ local function ibss_scan(radio,ifname,ssid,networks)
   -- loop through each line in the output of iw
   for wifiscan in io.popen(wireless_scan, 'r'):lines() do
     -- the following line matches a new network in the output of iw
-    if row["ssid"] ~= nil and ssid ~= nil then
-      print(row["ssid"].." == "..ssid)
-    end
     if(row["bssid"] ~= nil and row["quality"] ~= nil and row["ssid"] == ssid) then
       table.insert(networks, row)
       row = {}
@@ -826,27 +823,33 @@ local function get_batman_mesh_network(sorted_wlan_list, defaultHood, meshprefix
     for iface in io.popen(string.format("iw dev"),'r'):lines() do
       if iface:match("Interface") then
 	iface = trim(iface:split("Interface")[2])
-	if not iface:match("ibss") then
+	if not ( iface:match("ibss") or iface:match("mesh")) then
 	  os.execute("iw dev "..iface.." del")
 	end
       end
     end
     for _, wireless in pairs(sorted_wlan_list) do
+      local ibss = uci:get('wireless', 'ibss_' .. wireless["radio"], 'ifname')
+      local mesh = uci:get('wireless', 'mesh_' .. wireless["radio"], 'ifname')
       if wireless["ssid"] == uci:get('wireless', 'ibss_' .. wireless["radio"], 'ssid') then
 	io.stdout:write("Testing IBSS "..wireless["bssid"].."...\n")
-	local ifname = uci:get('wireless', 'ibss_' .. wireless["radio"], 'ifname')
 	-- leave the current adhoc network
-	os.execute("iw dev "..ifname.." ibss leave")
+	os.execute("iw dev "..ibss.." ibss leave")
+	if mesh ~= nil then
+	  os.execute("iw dev "..mesh.." mesh leave")
+	end
 	-- setup the adhoc network we want to test
-	os.execute("iw dev "..ifname.." ibss join "..wireless["ssid"].." "..wireless["frequency"].." "..wireless["bssid"])
+	os.execute("iw dev "..ibss.." ibss join "..wireless["ssid"].." "..wireless["frequency"].." "..wireless["bssid"])
       end
       if wireless["ssid"] == meshprefix then
 	io.stdout:write("Testing MESH "..wireless["bssid"].."...\n")
-	local ifname = uci:get('wireless', 'mesh_' .. wireless["radio"], 'ifname')
 	-- leave the current mesh network
-	os.execute("iw dev "..ifname.." mesh leave")
+	os.execute("iw dev "..mesh.." mesh leave")
+	if ibss ~= nil then
+	  os.execute("iw dev "..ibss.." ibss leave")
+	end
 	-- setup the mesh network we want to test
-	os.execute("iw dev "..ifname.." mesh join "..meshprefix..wireless["bssid"].." freq "..wireless["frequency"])
+	os.execute("iw dev "..mesh.." mesh join "..meshprefix..wireless["bssid"].." freq "..wireless["frequency"])
       end
       -- sleep 30 seconds till the connection is fully setup
       local c = 0;