diff --git a/recipes-connectivity/mctp/mctp/init-mctp-i2c-endpoint.sh b/recipes-connectivity/mctp/mctp/init-mctp-i2c-endpoint.sh
index 989574d..00c1bd6 100644
--- a/recipes-connectivity/mctp/mctp/init-mctp-i2c-endpoint.sh
+++ b/recipes-connectivity/mctp/mctp/init-mctp-i2c-endpoint.sh
@@ -22,6 +22,9 @@
         au.com.CodeConstruct.MCTP.Endpoint Remove
 done
 
+# allow old MCTP endpoints resource being freed
+sleep 1
+
 echo "# object_path i2c_bus address mctp_net mctp_eid" >$conf_file
 
 EID_BASE=60
@@ -47,6 +50,52 @@
     exit 1
 }
 
+recoverEndpoint()
+{
+    existing_eids=$(busctl tree xyz.openbmc_project.MCTP |
+        grep -Eo 'mctp/[0-9]+/[0-9]+')
+
+    while read -r line; do
+        if [[ $line =~ ^#.* ]] || [[ -z "$line" ]]; then
+            continue
+        fi
+
+        bus=$(echo "$line" | awk '{print $2}')
+        addr=$(echo "$line" | awk '{print $3}')
+        net=$(echo "$line" | awk '{print $4}')
+        eid=$(echo "$line" | awk '{print $5}')
+
+        if [ -z "$bus" ] || [ -z "$addr" ] || [ -z "$net" ] || [ -z "$eid" ]; then
+            echo "Warning: one of $bus,$addr,$net,$eid is empty"
+            continue
+        fi
+
+        if echo $existing_eids | grep "mctp/$net/$eid" >/dev/null; then
+            continue
+        fi
+
+        if [[ "$net" != "1" ]]; then
+            echo "Error: we don't support net $net yet"
+        fi
+
+        echo "Trying to re-assign mctpi2c$bus $addr with mctp/1/$eid"
+        output=$(busctl call xyz.openbmc_project.MCTP \
+            /xyz/openbmc_project/mctp \
+            au.com.CodeConstruct.MCTP AssignEndpointStatic \
+            sayy "mctpi2c$bus" 1 "$addr" "$eid" 2>&1)
+
+        # Example output: yisb 8 1 "/xyz/openbmc_project/mctp/1/8" true
+        if [[ "$output" =~ ^yisb[[:space:]]+([0-9]+)[[:space:]]+([0-9]+) ]]; then
+            echo "Recovered mctpi2c$bus $addr with mctp/1/$eid"
+            continue
+        fi
+
+        echo "Failed to re-assign mctpi2c$bus $addr with mctp/1/$eid"
+        echo "Error: $output"
+
+    done < "$conf_file"
+}
+
 while true; do
     # Query MctpI2cBinding configuration
     output=$(dbus-send --system --print-reply \
@@ -60,9 +109,15 @@
     object_paths=$(echo "$output" | grep -Eo '/xyz.*[^"]')
 
     # Populate i2c bus and address info
+
+    # associative array
     declare -A buses
+    # indexed array
     declare -a table
+
+    buses=()
     table=()
+
     for object_path in $object_paths; do
         if grep -F "$object_path" "$conf_file" >/dev/null; then
             # skip if already exist in the conf_file
@@ -155,4 +210,6 @@
     # MCTP EID(either newly populated or failed to setup MCTP endpoint
     # before).
     sleep 60
+
+    recoverEndpoint
 done
