diff --git a/Shorewall-lite/install.sh b/Shorewall-lite/install.sh
index a5fdcf1ff..a63efc02d 100755
--- a/Shorewall-lite/install.sh
+++ b/Shorewall-lite/install.sh
@@ -131,6 +131,7 @@ PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin
 #
 DEBIAN=
 CYGWIN=
+INSTALLD='-D'
 
 case $(uname) in
     CYGWIN*)
@@ -142,6 +143,9 @@ case $(uname) in
 	OWNER=$(id -un)
 	GROUP=$(id -gn)
 	;;
+    Darwin)
+	INSTALLD=
+	;;	   
     *)
 	[ -z "$OWNER" ] && OWNER=root
 	[ -z "$GROUP" ] && GROUP=root
@@ -302,13 +306,13 @@ cd manpages
 
 for f in *.5; do
     gzip -c $f > $f.gz
-    run_install -D -m 644 $f.gz ${PREFIX}/usr/share/man/man5/$f.gz
+    run_install $INSTALLD -m 644 $f.gz ${PREFIX}/usr/share/man/man5/$f.gz
     echo "Man page $f.gz installed to ${PREFIX}/usr/share/man/man5/$f.gz"
 done
 
 for f in *.8; do
     gzip -c $f > $f.gz
-    run_install -D -m 644 $f.gz ${PREFIX}/usr/share/man/man8/$f.gz
+    run_install $INSTALLD -m 644 $f.gz ${PREFIX}/usr/share/man/man8/$f.gz
     echo "Man page $f.gz installed to ${PREFIX}/usr/share/man/man8/$f.gz"
 done
 
diff --git a/Shorewall/install.sh b/Shorewall/install.sh
index 9693cc35a..b993d8f49 100755
--- a/Shorewall/install.sh
+++ b/Shorewall/install.sh
@@ -130,12 +130,12 @@ case $(uname) in
 	if [ -z "$PREFIX" ]; then
 	    DEST=
 	    INIT=
+	    SPARSE=Yes
 	fi
 
 	[ -z "$OWNER" ] && OWNER=root
 	[ -z "$GROUP" ] && GROUP=wheel
 	MAC=Yes
-	[ -z "${PREFIX}" && SPARSE=Yes
 	INSTALLD=
 	;;	
     *)
diff --git a/Shorewall6-lite/install.sh b/Shorewall6-lite/install.sh
index ab16f6d51..361a3bb1d 100755
--- a/Shorewall6-lite/install.sh
+++ b/Shorewall6-lite/install.sh
@@ -130,6 +130,7 @@ PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin
 # Determine where to install the firewall script
 #
 DEBIAN=
+INSTALLD='-D'
 
 case $(uname) in
     CYGWIN*)
@@ -141,6 +142,9 @@ case $(uname) in
 	OWNER=$(id -un)
 	GROUP=$(id -gn)
 	;;
+     Darwin)
+	INSTALLD=
+	;;	   
     *)
 	[ -z "$OWNER" ] && OWNER=root
 	[ -z "$GROUP" ] && GROUP=root
@@ -301,13 +305,13 @@ cd manpages
 
 for f in *.5; do
     gzip -c $f > $f.gz
-    run_install -D -m 644 $f.gz ${PREFIX}/usr/share/man/man5/$f.gz
+    run_install $INSTALLD -m 644 $f.gz ${PREFIX}/usr/share/man/man5/$f.gz
     echo "Man page $f.gz installed to ${PREFIX}/usr/share/man/man5/$f.gz"
 done
 
 for f in *.8; do
     gzip -c $f > $f.gz
-    run_install -D -m 644 $f.gz ${PREFIX}/usr/share/man/man8/$f.gz
+    run_install $INSTALLD -m 644 $f.gz ${PREFIX}/usr/share/man/man8/$f.gz
     echo "Man page $f.gz installed to ${PREFIX}/usr/share/man/man8/$f.gz"
 done
 
diff --git a/Shorewall6/install.sh b/Shorewall6/install.sh
index cb518a5b2..f6ba62e70 100755
--- a/Shorewall6/install.sh
+++ b/Shorewall6/install.sh
@@ -130,12 +130,12 @@ case $(uname) in
 	if [ -z "$PREFIX" ]; then
 	    DEST=
 	    INIT=
+	    SPARSE=Yes
 	fi
 
 	[ -z "$OWNER" ] && OWNER=root
 	[ -z "$GROUP" ] && GROUP=wheel
 	MAC=Yes
-	SPARSE=Yes
 	INSTALLD=
 	;;	
     *)