--- a/initscript/Arch/mbm-gpsd.in
+++ b/initscript/Arch/mbm-gpsd.in
@@ -11,14 +11,16 @@
 . /etc/rc.d/functions
 
 # Sanity checks.
-[ -x $MBM_BIN ] || exit 0
+[ -x $NETWORKMANAGER_BIN ] || exit 0
 
-PID=`pidof -o %PPID $MBM_BIN`
+PID=`pidof -o %PPID $NETWORKMANAGER_BIN`
 case "$1" in
 	start)
+		ck_daemon hal && /etc/rc.d/hal start
+		sleep 1
 		stat_busy "Starting mbm-gpsd"
 		if [ -z "$PID" ]; then
-			$MBM_BIN > /dev/null 2>&1 &
+			$NETWORKMANAGER_BIN
 		fi
 		if [ ! -z "$PID" -o $? -gt 0 ]; then
 			stat_fail