diff --git a/package/network/services/authsae/files/lib/wifi/authsae.sh b/package/network/services/authsae/files/lib/wifi/authsae.sh
index 6582a354de4f93b67549b88df2e618e45668e28b..75be48e47396842993fc8b8eb22c1ffec37f0d13 100644
--- a/package/network/services/authsae/files/lib/wifi/authsae.sh
+++ b/package/network/services/authsae/files/lib/wifi/authsae.sh
@@ -6,7 +6,7 @@ authsae_start_interface() {
 	local ret=1
 
 	json_get_vars mcast_rate mesh_id
-	set_default mcast_rate "12"
+	set_default mcast_rate "12000"
 
 	case "$htmode" in
 		HT20|HT40+|HT40-) mesh_htmode="$htmode";;
@@ -18,6 +18,14 @@ authsae_start_interface() {
 		*a*) mesh_band=11a;;
 	esac
 
+	if [ "$mcast_rate" -gt 1000 ]; then
+		# authsae only allows integers as rates and not things like 5.5
+		mcval=$(($mcast_rate / 1000))
+	else
+		# compat: to still support mbit/s rates
+		mcval="$mcast_rate"
+	fi
+
 	cat > "$authsae_conf_file" <<EOF
 authsae:
 {
@@ -40,7 +48,7 @@ authsae:
     band = "$mesh_band";
     channel = $channel;
     htmode = "$mesh_htmode";
-    mcast-rate = $mcast_rate;
+    mcast-rate = $mcval;
   };
 };
 EOF