diff --git a/meta-gbs/recipes-gbs/gbs-sysinit/files/gbs-sysinit.sh b/meta-gbs/recipes-gbs/gbs-sysinit/files/gbs-sysinit.sh
index 71a608f..9858404 100644
--- a/meta-gbs/recipes-gbs/gbs-sysinit/files/gbs-sysinit.sh
+++ b/meta-gbs/recipes-gbs/gbs-sysinit/files/gbs-sysinit.sh
@@ -27,12 +27,8 @@
 
 PE_PRESENT_OBJPATH=("/xyz/openbmc_project/inventory/system/chassis/entity/pe_slot0_prsnt"
 "/xyz/openbmc_project/inventory/system/chassis/entity/pe_slot1_prsnt")
-HSBP_PRESENT_OBJPATH="/xyz/openbmc_project/inventory/system/chassis/cable/hsbp_cab_prsnt"
-FANBD_PRESENT_OBJPATH="/xyz/openbmc_project/inventory/system/chassis/cable/fanbd_cab_prsnt"
-BP12V_PRESENT_OBJPATH="/xyz/openbmc_project/inventory/system/chassis/cable/bp12v_cab_prsnt"
 SATA0_PRESENT_OBJPATH="/xyz/openbmc_project/inventory/system/chassis/entity/sata0_prsnt"
 
-
 set_gpio_persistence() {
   reg_val=$(devmem ${WD1RCR_ADDR} 32)
   # Clear bit 16-23 to perserve all GPIO states across warm resets
@@ -67,12 +63,12 @@
     | sed 's/ //g' > ~/board_sku_id.txt
 }
 
-get_hsp_board_rev_id() {
+get_hsbp_board_rev_id() {
     echo $(get_gpio_value 'HSBP_BRD_REV_ID3')\
     $(get_gpio_value 'HSBP_BRD_REV_ID2')\
     $(get_gpio_value 'HSBP_BRD_REV_ID1')\
     $(get_gpio_value 'HSBP_BRD_REV_ID0')\
-    | sed 's/ //g' > ~/hsp_board_rev_id.txt
+    | sed 's/ //g' > ~/hsbp_board_rev_id.txt
 }
 
 get_fan_board_rev_id() {
@@ -121,8 +117,8 @@
   # On PVT need to forward SATA0_PRSNT_N to HDD_PRSNT_N
   # The signal is safe to set on DVT boards so just set universally.
   sata_prsnt_n="$(busctl get-property $SERVICE_NAME ${SATA0_PRESENT_OBJPATH} \
-                 $INTERFACE_NAME Present | awk '{print $2}')"
-  if [[ ${sata_prsnt_n} != "true" ]]; then
+                 $INTERFACE_NAME Present)"
+  if [[ "$?" == "0" && ${sata_prsnt_n} == "b false" ]]; then
     return 1
   fi
   # sata_prsnt_n is active low => value "true" means low
@@ -190,9 +186,9 @@
   for i in {1..2};
   do
      pe_prsnt_n="$(busctl get-property $SERVICE_NAME ${PE_PRESENT_OBJPATH[$(($i-1))]} \
-                  $INTERFACE_NAME Present | awk '{print $2}')"
+                  $INTERFACE_NAME Present)"
 
-     if [[ ${pe_prsnt_n} != "true" ]]; then
+     if [[ "$?" == "0" && ${pe_prsnt_n} == "b false" ]]; then
          pe_fruid=$(($pe_fruid+1))
          continue
      fi
@@ -232,6 +228,8 @@
 main() {
   get_board_rev_id
   get_board_sku_id
+  get_hsbp_board_rev_id
+  get_fan_board_rev_id
 
   check_board_ver
   if [[ "${BOARD_VER}" == "PREPVT" ]]; then
@@ -240,30 +238,6 @@
 
   check_board_sku
 
-  hsbp_prsnt="$(busctl get-property $SERVICE_NAME ${HSBP_PRESENT_OBJPATH} \
-               $INTERFACE_NAME Present | awk '{print $2}')"
-  if [[ ${hsbp_prsnt} == "true" ]]; then
-    get_hsp_board_rev_id
-    hsbp_12v_prsnt="$(busctl get-property $SERVICE_NAME ${BP12V_PRESENT_OBJPATH} \
-                     $INTERFACE_NAME Present | awk '{print $2}')"
-    if [[ ${hsbp_12v_prsnt} != "true" ]]; then
-      echo "HSBP board power cable(12V) not present !!"
-    fi
-  else
-    echo "HSBP board sideband cable not present !!"
-    echo "Stop NVMe Power/LED control Service "
-    systemctl stop xyz.openbmc_project.Control.Nvme.Power
-    systemctl stop xyz.openbmc_project.nvme.manager
-  fi
-
-  fan_prsnt="$(busctl get-property $SERVICE_NAME ${FANBD_PRESENT_OBJPATH} \
-              $INTERFACE_NAME Present | awk '{print $2}')"
-  if [[ ${fan_prsnt} == "true" ]]; then
-    get_fan_board_rev_id
-  else
-    echo "Fan board sideband cable not present !!"
-  fi
-
   set_hdd_prsnt
 
   reset_phy
