diff --git a/config/rootfiles/common/aarch64/initscripts b/config/rootfiles/common/aarch64/initscripts
index d9f80e6b2..506f616e6 100644
--- a/config/rootfiles/common/aarch64/initscripts
+++ b/config/rootfiles/common/aarch64/initscripts
@@ -18,6 +18,7 @@ etc/rc.d/init.d/collectd
 etc/rc.d/init.d/connectd
 etc/rc.d/init.d/conntrackd
 etc/rc.d/init.d/console
+etc/rc.d/init.d/depends-on-network
 etc/rc.d/init.d/dhcp
 etc/rc.d/init.d/dhcrelay
 etc/rc.d/init.d/fcron
@@ -105,6 +106,7 @@ etc/rc.d/rc0.d/K49cyrus-sasl
 etc/rc.d/rc0.d/K51vnstat
 etc/rc.d/rc0.d/K77conntrackd
 etc/rc.d/rc0.d/K78suricata
+etc/rc.d/rc0.d/K79depends-on-network
 etc/rc.d/rc0.d/K79leds
 etc/rc.d/rc0.d/K80network
 etc/rc.d/rc0.d/K82wlanclient
@@ -128,6 +130,7 @@ etc/rc.d/rc3.d/S15fireinfo
 etc/rc.d/rc3.d/S19smartenabler
 etc/rc.d/rc3.d/S19wlanclient
 etc/rc.d/rc3.d/S20network
+etc/rc.d/rc3.d/S21depends-on-network
 etc/rc.d/rc3.d/S21leds
 etc/rc.d/rc3.d/S22conntrackd
 etc/rc.d/rc3.d/S24cyrus-sasl
@@ -154,6 +157,7 @@ etc/rc.d/rc6.d/K49cyrus-sasl
 etc/rc.d/rc6.d/K51vnstat
 etc/rc.d/rc6.d/K77conntrackd
 etc/rc.d/rc6.d/K78suricata
+etc/rc.d/rc6.d/K79depends-on-network
 etc/rc.d/rc6.d/K79leds
 etc/rc.d/rc6.d/K80network
 etc/rc.d/rc6.d/K82wlanclient
diff --git a/config/rootfiles/common/riscv64/initscripts b/config/rootfiles/common/riscv64/initscripts
index a4865aa29..e834cbfc3 100644
--- a/config/rootfiles/common/riscv64/initscripts
+++ b/config/rootfiles/common/riscv64/initscripts
@@ -18,6 +18,7 @@ etc/rc.d/init.d/collectd
 etc/rc.d/init.d/connectd
 etc/rc.d/init.d/conntrackd
 etc/rc.d/init.d/console
+etc/rc.d/init.d/depends-on-network
 etc/rc.d/init.d/dhcp
 etc/rc.d/init.d/dhcrelay
 etc/rc.d/init.d/fcron
@@ -104,6 +105,7 @@ etc/rc.d/rc0.d/K49cyrus-sasl
 etc/rc.d/rc0.d/K51vnstat
 etc/rc.d/rc0.d/K77conntrackd
 etc/rc.d/rc0.d/K78suricata
+etc/rc.d/rc0.d/K79depends-on-network
 etc/rc.d/rc0.d/K79leds
 etc/rc.d/rc0.d/K80network
 etc/rc.d/rc0.d/K82wlanclient
@@ -127,6 +129,7 @@ etc/rc.d/rc3.d/S15fireinfo
 etc/rc.d/rc3.d/S19smartenabler
 etc/rc.d/rc3.d/S19wlanclient
 etc/rc.d/rc3.d/S20network
+etc/rc.d/rc3.d/S21depends-on-network
 etc/rc.d/rc3.d/S21leds
 etc/rc.d/rc3.d/S22conntrackd
 etc/rc.d/rc3.d/S24cyrus-sasl
@@ -153,6 +156,7 @@ etc/rc.d/rc6.d/K49cyrus-sasl
 etc/rc.d/rc6.d/K51vnstat
 etc/rc.d/rc6.d/K77conntrackd
 etc/rc.d/rc6.d/K78suricata
+etc/rc.d/rc6.d/K79depends-on-network
 etc/rc.d/rc6.d/K79leds
 etc/rc.d/rc6.d/K80network
 etc/rc.d/rc6.d/K82wlanclient
diff --git a/config/rootfiles/common/x86_64/initscripts b/config/rootfiles/common/x86_64/initscripts
index a4865aa29..e834cbfc3 100644
--- a/config/rootfiles/common/x86_64/initscripts
+++ b/config/rootfiles/common/x86_64/initscripts
@@ -18,6 +18,7 @@ etc/rc.d/init.d/collectd
 etc/rc.d/init.d/connectd
 etc/rc.d/init.d/conntrackd
 etc/rc.d/init.d/console
+etc/rc.d/init.d/depends-on-network
 etc/rc.d/init.d/dhcp
 etc/rc.d/init.d/dhcrelay
 etc/rc.d/init.d/fcron
@@ -104,6 +105,7 @@ etc/rc.d/rc0.d/K49cyrus-sasl
 etc/rc.d/rc0.d/K51vnstat
 etc/rc.d/rc0.d/K77conntrackd
 etc/rc.d/rc0.d/K78suricata
+etc/rc.d/rc0.d/K79depends-on-network
 etc/rc.d/rc0.d/K79leds
 etc/rc.d/rc0.d/K80network
 etc/rc.d/rc0.d/K82wlanclient
@@ -127,6 +129,7 @@ etc/rc.d/rc3.d/S15fireinfo
 etc/rc.d/rc3.d/S19smartenabler
 etc/rc.d/rc3.d/S19wlanclient
 etc/rc.d/rc3.d/S20network
+etc/rc.d/rc3.d/S21depends-on-network
 etc/rc.d/rc3.d/S21leds
 etc/rc.d/rc3.d/S22conntrackd
 etc/rc.d/rc3.d/S24cyrus-sasl
@@ -153,6 +156,7 @@ etc/rc.d/rc6.d/K49cyrus-sasl
 etc/rc.d/rc6.d/K51vnstat
 etc/rc.d/rc6.d/K77conntrackd
 etc/rc.d/rc6.d/K78suricata
+etc/rc.d/rc6.d/K79depends-on-network
 etc/rc.d/rc6.d/K79leds
 etc/rc.d/rc6.d/K80network
 etc/rc.d/rc6.d/K82wlanclient
diff --git a/lfs/initscripts b/lfs/initscripts
index e078632ab..263292da9 100644
--- a/lfs/initscripts
+++ b/lfs/initscripts
@@ -103,6 +103,7 @@ $(TARGET) :
 	ln -sf ../init.d/vnstat			/etc/rc.d/rc0.d/K51vnstat
 	ln -sf ../init.d/conntrackd		/etc/rc.d/rc0.d/K77conntrackd
 	ln -sf ../init.d/suricata		/etc/rc.d/rc0.d/K78suricata
+	ln -sf ../init.d/depends-on-network	/etc/rc.d/rc0.d/K79depends-on-network
 	ln -sf ../init.d/leds			/etc/rc.d/rc0.d/K79leds
 	ln -sf ../init.d/network		/etc/rc.d/rc0.d/K80network
 	ln -sf ../init.d/wlanclient		/etc/rc.d/rc0.d/K82wlanclient
@@ -124,6 +125,7 @@ $(TARGET) :
 	ln -sf ../init.d/smartenabler		/etc/rc.d/rc3.d/S19smartenabler
 	ln -sf ../init.d/wlanclient		/etc/rc.d/rc3.d/S19wlanclient
 	ln -sf ../init.d/network		/etc/rc.d/rc3.d/S20network
+	ln -sf ../init.d/depends-on-network     /etc/rc.d/rc3.d/S21depends-on-network
 	ln -sf ../init.d/leds			/etc/rc.d/rc3.d/S21leds
 	ln -sf ../init.d/conntrackd		/etc/rc.d/rc3.d/S22conntrackd
 	ln -sf  ../init.d/cyrus-sasl		/etc/rc.d/rc3.d/S24cyrus-sasl
@@ -148,6 +150,7 @@ $(TARGET) :
 	ln -sf ../init.d/vnstat			/etc/rc.d/rc6.d/K51vnstat
 	ln -sf ../init.d/conntrackd		/etc/rc.d/rc6.d/K77conntrackd
 	ln -sf ../init.d/suricata		/etc/rc.d/rc6.d/K78suricata
+	ln -sf ../init.d/depends-on-network     /etc/rc.d/rc6.d/K79depends-on-network
 	ln -sf ../init.d/leds			/etc/rc.d/rc6.d/K79leds
 	ln -sf ../init.d/network		/etc/rc.d/rc6.d/K80network
 	ln -sf ../init.d/wlanclient		/etc/rc.d/rc6.d/K82wlanclient
diff --git a/src/initscripts/system/depends-on-network b/src/initscripts/system/depends-on-network
new file mode 100644
index 000000000..777a2dbd1
--- /dev/null
+++ b/src/initscripts/system/depends-on-network
@@ -0,0 +1,40 @@
+#!/bin/bash
+########################################################################
+# Begin $rc_base/init.d/depends-on-network
+#
+# Description : Script to execute actions after complete network startup
+#
+# Notes       : Written for IPFire by its team
+#
+########################################################################
+
+. /etc/sysconfig/rc
+. ${rc_functions}
+
+DO="${1}"
+shift
+
+case "${DO}" in
+	start)
+		boot_mesg "Mounting network file systems..."
+		mount -a -O _netdev
+		evaluate_retval
+		;;
+
+	stop)
+		boot_mesg "Umounting network file systems..."
+		umount -a -O _netdev
+		evaluate_retval
+		;;
+	restart)
+		${0} stop
+		sleep 1
+		${0} start
+		;;
+	*)
+		echo "Usage: $0 {start|stop|restart}"
+		exit 1
+		;;
+esac
+
+# End /etc/rc.d/init.d/depends-on-network
diff --git a/src/initscripts/system/network b/src/initscripts/system/network
index 0db64eaad..e3fe47597 100644
--- a/src/initscripts/system/network
+++ b/src/initscripts/system/network
@@ -75,17 +75,9 @@ case "${DO}" in
 		for i in "${VALID_ZONES[@]}"; do
 			${ZONE_ACTION[${i}]} && /etc/rc.d/init.d/networking/${i} start
 		done
-
-		boot_mesg "Mounting network file systems..."
-		mount -a -O _netdev
-		evaluate_retval
 		;;
 
 	stop)
-		boot_mesg "Umounting network file systems..."
-		umount -a -O _netdev
-		evaluate_retval
-
 		# Stopping interfaces...
 		for i in "${VALID_ZONES[@]}"; do
 			${ZONE_ACTION[${i}]} && /etc/rc.d/init.d/networking/${i} stop
