diff -urp a/heartbeat/heartbeat.c b/heartbeat/heartbeat.c
--- a/heartbeat/heartbeat.c	2007-01-12 03:57:05.000000000 +0100
+++ b/heartbeat/heartbeat.c	2007-05-09 13:49:34.556815754 +0200
@@ -3792,7 +3792,7 @@ start_a_child_client(gpointer childentry
 		(void)open(devnull, O_RDONLY);	/* Stdin:  fd 0 */
 		(void)open(devnull, O_WRONLY);	/* Stdout: fd 1 */
 		(void)open(devnull, O_WRONLY);	/* Stderr: fd 2 */
-		(void)execl("/bin/sh", "sh", "-c", centry->command
+		(void)execl("/usr/bin/bash", "bash", "-c", centry->command
 		,	(const char *)NULL);
 
 		/* Should not happen */
diff -urp a/lib/plugins/stonith/ssh.c b/lib/plugins/stonith/ssh.c
--- a/lib/plugins/stonith/ssh.c	2007-01-12 03:57:08.000000000 +0100
+++ b/lib/plugins/stonith/ssh.c	2007-05-09 13:42:58.111238916 +0200
@@ -99,9 +99,9 @@ PIL_PLUGIN_INIT(PILPlugin*us, const PILP
  * We have to do it in the background, otherwise this command will not
  * return.
  */
-#define REBOOT_COMMAND "nohup sh -c '(sleep 2; nohup /sbin/reboot -nf) </dev/null >/dev/null 2>&1' &"
+#define REBOOT_COMMAND "nohup sh -c '(sleep 2; nohup /usr/sbin/reboot -n) </dev/null >/dev/null 2>&1' &"
 #undef REBOOT_COMMAND
-#define REBOOT_COMMAND "echo 'sleep 2; /sbin/reboot -nf' | SHELL=/bin/sh at now >/dev/null 2>&1"
+#define REBOOT_COMMAND "echo 'sleep 2; /usr/sbin/reboot -n' | SHELL=/usr/bin/bash at now >/dev/null 2>&1"
 
 /*
  *    SSH STONITH device
diff -urp a/lib/plugins/stonith/suicide.c b/lib/plugins/stonith/suicide.c
--- a/lib/plugins/stonith/suicide.c	2007-01-12 03:57:08.000000000 +0100
+++ b/lib/plugins/stonith/suicide.c	2007-05-09 13:46:46.830033408 +0200
@@ -81,8 +81,8 @@ PIL_PLUGIN_INIT(PILPlugin*us, const PILP
 	,	&interfprivate); 
 }
 
-#define REBOOT_COMMAND "echo 'sleep 2; /sbin/reboot -nf' | SHELL=/bin/sh at now >/dev/null 2>&1"
-#define POWEROFF_COMMAND "echo 'sleep 2; /sbin/poweroff -nf' | SHELL=/bin/sh at now >/dev/null 2>&1"
+#define REBOOT_COMMAND "echo 'sleep 2; /usr/sbin/reboot -n' | SHELL=/usr/bin/bash at now >/dev/null 2>&1"
+#define POWEROFF_COMMAND "echo 'sleep 2; /usr/sbin/poweroff -n' | SHELL=/usr/bin/bash at now >/dev/null 2>&1"
 
 /*
  *    Suicide STONITH device
diff -urp a/lib/stonith/expect.c b/lib/stonith/expect.c
--- a/lib/stonith/expect.c	2007-01-12 03:57:08.000000000 +0100
+++ b/lib/stonith/expect.c	2007-05-09 13:40:42.975996782 +0200
@@ -319,7 +319,7 @@ StartProcess(const char * cmd, int * rea
 				sched_setscheduler(0, SCHED_OTHER, &sp);
 			}
 #endif
-				execlp("/bin/sh", "sh", "-c", cmd, (const char *)NULL);
+				execlp("/usr/bin/bash", "bash", "-c", cmd, (const char *)NULL);
 				perror("cannot exec shell!");
 				exit(1);
 
