diff --git a/scripts/patch.sh b/scripts/patch.sh
new file mode 100755
index 0000000..8eb362c
--- /dev/null
+++ b/scripts/patch.sh
@@ -0,0 +1,2 @@
+SCRIPT_DIR=$(dirname "$0")
+bash "$SCRIPT_DIR/patches/patch-1.sh"
diff --git a/scripts/patches/patch-1.sh b/scripts/patches/patch-1.sh
new file mode 100755
index 0000000..6b820de
--- /dev/null
+++ b/scripts/patches/patch-1.sh
@@ -0,0 +1,32 @@
+DEFAULT_SERVICE_NAME="ghost-node.service"
+
+check_unit_file_validity() {
+    SERVICE_NAME=$1
+    if [[ "$SERVICE_NAME" != *.service ]]; then
+        SERVICE_NAME="${SERVICE_NAME}.service"
+    fi
+
+    SERVICE_FULL_PATH="/etc/systemd/system/$SERVICE_NAME"
+    if [[ -e "$SERVICE_FULL_PATH" ]]; then
+        NETWORK_ONLINE_EXISTS=$(grep -Fx "After=network-online.target" "$SERVICE_FULL_PATH")
+        NETWORK_EXISTS=$(grep -Fx "After=network.target"  "$SERVICE_FULL_PATH")
+
+        if [[ -z "$NETWORK_ONLINE_EXISTS" && -n "$NETWORK_EXISTS" ]]
+        then
+            echo "[-] WARNING: missing network-online.target dependency in $SERVICE_FULL_PATH, trying to replace"
+            sudo sed -i 's/After=network.target/After=network-online.target/g' "$SERVICE_FULL_PATH"
+        else
+            echo "[+] INFO: network-online.target is set correctly for $SERVICE_FULL_PATH"
+        fi
+    else
+        echo "[-] No serivce found at $SERVICE_FULL_PATH"
+    fi
+
+}
+
+check_unit_file_validity $DEFAULT_SERVICE_NAME
+read -p "[?] Enter names for the node service, separated by commas (default: ghost-node): " -a SERVICE_NAMES
+for NAME in "${SERVICE_NAMES[@]}"; do
+    check_unit_file_validity $NAME 
+done
+sudo systemctl daemon-reload