diff --git a/sis8300bcmApp/src/sis8300bcm.cpp b/sis8300bcmApp/src/sis8300bcm.cpp
index de3bb249b1408eb69620860b6304be1aa782cca4..b7fc429c714f5b2f6d88291fa0b6691725014a9e 100644
--- a/sis8300bcmApp/src/sis8300bcm.cpp
+++ b/sis8300bcmApp/src/sis8300bcm.cpp
@@ -925,12 +925,6 @@ int sis8300bcm::readbackParameters()
         }
         setDoubleParam(addr, BCMAcctLeakyThreshold, doubleValue);
 
-        ret = sis8300drvbcm_get_channel_trigger_width(mDeviceHandle, addr, &doubleValue);
-        if (ret) {
-            asynPrintError(pasynUserSelf, "sis8300drvbcm_get_channel_trigger_width returned %d", ret);
-            return ret;
-        }
-        setDoubleParam(addr, BCMAcctTriggerWidth, doubleValue);
         ret = sis8300drvbcm_get_channel_auto_flattop_start(mDeviceHandle, addr, &doubleValue);
         if (ret) {
             asynPrintError(pasynUserSelf, "sis8300drvbcm_get_channel_auto_flattop_start returned %d", ret);
@@ -1267,6 +1261,12 @@ int sis8300bcm::deviceDone()
             return ret;
         }
         setDoubleParam(addr, BCMAcctFlatTopCharge, flattopCharge);
+        ret = sis8300drvbcm_get_channel_trigger_width(mDeviceHandle, addr, &triggerWidth);
+        if (ret) {
+            asynPrintError(pasynUserSelf, "sis8300drvbcm_get_channel_trigger_width returned %d", ret);
+            return ret;
+        }
+        setDoubleParam(addr, BCMAcctTriggerWidth, triggerWidth);
 
         // flat top current, check if automatic mode is enabled
         getIntegerParam(addr, BCMAcctAutoFlatTopEnable, &autoFlattopEnable);
@@ -1275,7 +1275,7 @@ int sis8300bcm::deviceDone()
             // auto flat top start and end have been read-back before the start of acquisition
             getDoubleParam(addr, BCMAcctAutoFlatTopStart, &autoFlattopStart);
             getDoubleParam(addr, BCMAcctAutoFlatTopEnd, &autoFlattopEnd);
-            getDoubleParam(addr, BCMAcctTriggerWidth, &triggerWidth);
+            printf("auto flattop window = %f\n", triggerWidth - (autoFlattopStart + autoFlattopEnd)/10e6);
             // calculate the average current over automatic flattop (window in ms)
             ret = sis8300drvbcm_get_channel_flattop_current(mDeviceHandle, addr, triggerWidth - (autoFlattopStart + autoFlattopEnd)/10e6, flattopCharge, &doubleValue);
             if (ret) {