diff --git a/Shorewall-init/init.debian.sh b/Shorewall-init/init.debian.sh
index ca7dffd..16d5dd7 100755
--- a/Shorewall-init/init.debian.sh
+++ b/Shorewall-init/init.debian.sh
@@ -71,10 +71,8 @@ setstatedir() {
 
     [ -n "$statedir" ] && STATEDIR=${statedir} || STATEDIR=${VARDIR}/${PRODUCT}
 
-    if [ ! -x $STATEDIR/firewall ]; then
-	if [ $PRODUCT = shorewall -o $PRODUCT = shorewall6 ]; then
-	    ${SBINDIR}/$PRODUCT compile
-	fi
+    if [ $PRODUCT = shorewall -o $PRODUCT = shorewall6 ]; then
+	${SBINDIR}/$PRODUCT compile -c
     fi
 }
 
diff --git a/Shorewall-init/init.fedora.sh b/Shorewall-init/init.fedora.sh
index c716a4d..86c97fe 100755
--- a/Shorewall-init/init.fedora.sh
+++ b/Shorewall-init/init.fedora.sh
@@ -45,10 +45,9 @@ setstatedir() {
     fi
 
     [ -n "$statedir" ] && STATEDIR=${statedir} || STATEDIR=${VARDIR}/${PRODUCT}
-    if [ ! -x "${STATEDIR}/firewall" ]; then
-	if [ $PRODUCT == shorewall -o $PRODUCT == shorewall6 ]; then
-	    ${SBINDIR}/$PRODUCT $OPTIONS compile
-	fi
+
+    if [ $PRODUCT == shorewall -o $PRODUCT == shorewall6 ]; then
+	${SBINDIR}/$PRODUCT $OPTIONS compile -c
     fi
 }
 
@@ -68,12 +67,6 @@ start () {
     for PRODUCT in $PRODUCTS; do
 	setstatedir
 
-	if [ ! -x "${STATEDIR}/firewall" ]; then
-	    if [ $PRODUCT == shorewall -o $PRODUCT == shorewall6 ]; then
-		${SBINDIR}/$PRODUCT $OPTIONS compile
-	    fi
-	fi
-
 	if [ -x "${STATEDIR}/firewall" ]; then
 	    ${STATEDIR}/firewall stop 2>&1 | $logger
 	    retval=${PIPESTATUS[0]}
@@ -101,12 +94,6 @@ stop () {
     for PRODUCT in $PRODUCTS; do
 	setstatedir
 
-	if [ ! -x "${STATEDIR}/firewall" ]; then
-	    if [ $PRODUCT == shorewall -o $PRODUCT == shorewall6 ]; then
-		${SBINDIR}/$PRODUCT $OPTIONS compile
-	    fi
-	fi
-
 	if [ -x "${STATEDIR}/firewall" ]; then
 	    ${STATEDIR}/firewall clear 2>&1 | $logger
 	    retval=${PIPESTATUS[0]}
diff --git a/Shorewall-init/init.suse.sh b/Shorewall-init/init.suse.sh
index 56ab964..f1a2a96 100755
--- a/Shorewall-init/init.suse.sh
+++ b/Shorewall-init/init.suse.sh
@@ -66,10 +66,8 @@ setstatedir() {
 
     [ -n "$statedir" ] && STATEDIR=${statedir} || STATEDIR=${VARDIR}/${PRODUCT}
 
-    if [ ! -x $STATEDIR/firewall ]; then
-	if [ $PRODUCT = shorewall -o $PRODUCT = shorewall6 ]; then
-	    ${SBINDIR}/$PRODUCT compile
-	fi
+    if [ $PRODUCT = shorewall -o $PRODUCT = shorewall6 ]; then
+	${SBINDIR}/$PRODUCT compile -c
     fi
 }
 
