--- /dev/null
+diff -ur madwifi.old/ath_rate/minstrel/minstrel.c madwifi.dev/ath_rate/minstrel/minstrel.c
+--- madwifi.old/ath_rate/minstrel/minstrel.c 2007-05-18 13:19:16.000000000 +0200
++++ madwifi.dev/ath_rate/minstrel/minstrel.c 2007-05-21 09:38:03.102725008 +0200
+@@ -388,6 +388,9 @@
+ int rc1, rc2, rc3; /* Index into the rate table, so for example, it is 0..11 */
+ int rixc1, rixc2, rixc3; /* The actual bit rate used */
+
++ if (sn->num_rates <= 0)
++ return;
++
+ if (sn->is_sampling) {
+ rc1 = sn->max_tp_rate;
+ sn->is_sampling = 0;