diff --git a/AMS_Master_Code/Core/Lib/ADBMS6830B_Driver/Core/Src/ADBMS_Abstraction.c b/AMS_Master_Code/Core/Lib/ADBMS6830B_Driver/Core/Src/ADBMS_Abstraction.c
index 34ef50b..cf7c84f 100644
--- a/AMS_Master_Code/Core/Lib/ADBMS6830B_Driver/Core/Src/ADBMS_Abstraction.c
+++ b/AMS_Master_Code/Core/Lib/ADBMS6830B_Driver/Core/Src/ADBMS_Abstraction.c
@@ -123,7 +123,7 @@ HAL_StatusTypeDef amsAuxAndStatusMeasurement(Cell_Module (*module)[N_BMS]) {
     }
 
     if (pollCMD(PLAUX) == HAL_BUSY) {
-        return HAL_BUSY;
+        //return HAL_BUSY;
     }
 
     CHECK_RETURN(
diff --git a/AMS_Master_Code/Core/Src/main.c b/AMS_Master_Code/Core/Src/main.c
index 41aa933..e376680 100644
--- a/AMS_Master_Code/Core/Src/main.c
+++ b/AMS_Master_Code/Core/Src/main.c
@@ -126,8 +126,14 @@ int main(void)
         continue;
       }
       error_count = 0;
+      count = 0;
     }
     status = AMS_Idle_Loop();
+    if (count < 10) { // don't print errors for the first 10 loops while the BMS is starting up
+      count++;
+      HAL_Delay(100);
+      continue;
+    }
     if (status.status != ADBMS_NO_ERROR) {
       debug_log(LOG_LEVEL_ERROR, "AMS_Idle_Loop returned %u (%s) on BMS %d", status.status, ADBMS_Status_ToString(status.status), status.bms_id);
       error_count++;
@@ -250,7 +256,9 @@ int main(void)
 
     /* USER CODE BEGIN 3 */
     count++;
-    count &= 0b1111; // wrap around at 16
+    if (count > 16) {
+      count = 11; // keep count from overflowing
+    }
   }
   /* USER CODE END 3 */
 }