--- a/layout/generic/nsGfxScrollFrame.cpp
+++ b/layout/generic/nsGfxScrollFrame.cpp
@@ -3752,16 +3752,19 @@ ScrollFrameHelper::DecideScrollableLayer
nsLayoutUtils::GetDisplayPort(content, &displayPort, RelativeTo::ScrollFrame);
if (usingDisplayPort) {
// Override the dirty rectangle if the displayport has been set.
*aVisibleRect = displayPort;
if (!aBuilder->IsPartialUpdate() ||
aBuilder->InInvalidSubtree()) {
*aDirtyRect = displayPort;
+ if (aUsingDisplayPortInvalidRect) {
+ *aUsingDisplayPortInvalidRect = true;
+ }
} else if (mOuter->HasOverrideDirtyRegion()) {
nsRect* rect =
mOuter->GetProperty(nsDisplayListBuilder::DisplayListBuildingDisplayPortRect());
if (rect) {
*aDirtyRect = *rect;
if (aUsingDisplayPortInvalidRect) {
*aUsingDisplayPortInvalidRect = true;
}