diff --git a/dom/events/test/test_bug574663.html b/dom/events/test/test_bug574663.html
index bd16ec17be09..23c572590972 100644
--- a/dom/events/test/test_bug574663.html
+++ b/dom/events/test/test_bug574663.html
@@ -50,7 +50,15 @@ function forceScrollAndWait(scrollbox, callback) {
let utils = SpecialPowers.getDOMWindowUtils(win);
utils.advanceTimeAndRefresh(1000);
- waitForPaint(win, utils, callback);
+
+ let postApzFlush = function() {
+ SpecialPowers.Services.obs.removeObserver(postApzFlush, "apz-repaints-flushed", false);
+ waitForPaint(win, utils, callback);
+ }
+ SpecialPowers.Services.obs.addObserver(postApzFlush, "apz-repaints-flushed", false);
+ if (!utils.flushApzRepaints()) {
+ postApzFlush();
+ }
}
function sendTouchpadScrollMotion(scrollbox, direction, ctrl, momentum, callback) {