diff --git a/scripts/crm-fence-peer.sh b/scripts/crm-fence-peer.sh
index c410f22..4e4fc5d 100755
--- a/scripts/crm-fence-peer.sh
+++ b/scripts/crm-fence-peer.sh
@@ -216,12 +216,9 @@ check_cluster_properties()
 try_place_constraint()
 {
 	local peer_state
-	local startup_fencing stonith_enabled
 
 	rc=1
 
-	check_cluster_properties
-
 	while :; do
 		check_peer_node_reachable
 		[[ $peer_state != "reachable" ]] && break
@@ -343,7 +340,7 @@ commit_suicide()
 
 	reboot_timeout=$(( reboot_timeout + SECONDS ))
 	# pacemaker apparently cannot kill me.
-	while (( $SECONDS  > $reboot_timeout )); do
+	while (( $SECONDS  < $reboot_timeout )); do
 		echo WARNING "${extra_msg}going to reboot -f in $(( reboot_timeout - SECONDS )) seconds! To cancel: kill $$"
 		sleep 2
 	done
@@ -367,6 +364,10 @@ drbd_peer_fencing()
 	get_cib_xml -Ql || return
 	fence_peer_init || return
 
+	local startup_fencing stonith_enabled
+	check_cluster_properties
+	set_states_from_proc_drbd
+
 	case $1 in
 	fence)
 		if [[ $fencing_attribute = "#uname" ]]; then
