*/
 static void joycon_calc_imu_cal_divisors(struct joycon_ctlr *ctlr)
 {
-       int i;
+       int i, divz = 0;
 
        for (i = 0; i < 3; i++) {
                ctlr->imu_cal_accel_divisor[i] = ctlr->accel_cal.scale[i] -
                                                ctlr->accel_cal.offset[i];
                ctlr->imu_cal_gyro_divisor[i] = ctlr->gyro_cal.scale[i] -
                                                ctlr->gyro_cal.offset[i];
+
+               if (ctlr->imu_cal_accel_divisor[i] == 0) {
+                       ctlr->imu_cal_accel_divisor[i] = 1;
+                       divz++;
+               }
+
+               if (ctlr->imu_cal_gyro_divisor[i] == 0) {
+                       ctlr->imu_cal_gyro_divisor[i] = 1;
+                       divz++;
+               }
        }
+
+       if (divz)
+               hid_warn(ctlr->hdev, "inaccurate IMU divisors (%d)\n", divz);
 }
 
 static const s16 DFLT_ACCEL_OFFSET /*= 0*/;
                    JC_IMU_SAMPLES_PER_DELTA_AVG) {
                        ctlr->imu_avg_delta_ms = ctlr->imu_delta_samples_sum /
                                                 ctlr->imu_delta_samples_count;
-                       /* don't ever want divide by zero shenanigans */
-                       if (ctlr->imu_avg_delta_ms == 0) {
-                               ctlr->imu_avg_delta_ms = 1;
-                               hid_warn(ctlr->hdev,
-                                        "calculated avg imu delta of 0\n");
-                       }
                        ctlr->imu_delta_samples_count = 0;
                        ctlr->imu_delta_samples_sum = 0;
                }
 
+               /* don't ever want divide by zero shenanigans */
+               if (ctlr->imu_avg_delta_ms == 0) {
+                       ctlr->imu_avg_delta_ms = 1;
+                       hid_warn(ctlr->hdev, "calculated avg imu delta of 0\n");
+               }
+
                /* useful for debugging IMU sample rate */
                hid_dbg(ctlr->hdev,
                        "imu_report: ms=%u last_ms=%u delta=%u avg_delta=%u\n",