--- /dev/null
+diff -urN madwifi-ng-refcount-r2313-20070505.old/net80211/ieee80211_scan.c madwifi-ng-refcount-r2313-20070505.dev/net80211/ieee80211_scan.c
+--- madwifi-ng-refcount-r2313-20070505.old/net80211/ieee80211_scan.c 2007-04-25 22:29:55.000000000 +0200
++++ madwifi-ng-refcount-r2313-20070505.dev/net80211/ieee80211_scan.c 2007-05-13 18:17:55.868075800 +0200
+@@ -291,7 +291,8 @@
+ struct ieee80211com *ic = vap->iv_ic;
+ int delay;
+
+- ieee80211_sta_pwrsave(vap, 1);
++ if (vap->iv_opmode != IEEE80211_M_IBSS)
++ ieee80211_sta_pwrsave(vap, 1);
+ /*
+ * Use an initial 1ms delay to ensure the null
+ * data frame has a chance to go out.