diff --git a/layout/reftests/svg/sizing/dynamic--inline-resize-window-height.xhtml b/layout/reftests/svg/sizing/dynamic--inline-resize-window-height.xhtml
index 88cda311299a2760ede15366d1f56a91186633cd..7ea9351c5e71a007153df3bb7a297f17177792ae 100644
--- a/layout/reftests/svg/sizing/dynamic--inline-resize-window-height.xhtml
+++ b/layout/reftests/svg/sizing/dynamic--inline-resize-window-height.xhtml
@@ -33,12 +33,18 @@ var initial_height = top.innerHeight;
 
 function restore_height()
 {
+  document.removeEventListener("MozReftestInvalidate", restore_height, false);
+  document.addEventListener("MozReftestInvalidate", finish_test, false);
   top.innerHeight = initial_height;
-  setTimeout(function() { document.documentElement.removeAttribute('class'); }, 0);
 }
 
-top.innerHeight /= 2;
+function finish_test()
+{
+  document.documentElement.removeAttribute('class');
+}
+
 document.addEventListener("MozReftestInvalidate", restore_height, false);
+top.innerHeight /= 2;
 
     </script>
   </head>
diff --git a/layout/reftests/svg/sizing/dynamic--inline-resize-window-width.xhtml b/layout/reftests/svg/sizing/dynamic--inline-resize-window-width.xhtml
index 18a1eb2473c668d7df41f4fe0dacf8712d1d898b..8870a06f8beb8180a66bcdfcfca409bb3381965c 100644
--- a/layout/reftests/svg/sizing/dynamic--inline-resize-window-width.xhtml
+++ b/layout/reftests/svg/sizing/dynamic--inline-resize-window-width.xhtml
@@ -33,12 +33,18 @@ var initial_width = top.innerWidth;
 
 function restore_width()
 {
+  document.removeEventListener("MozReftestInvalidate", restore_width, false);
+  document.addEventListener("MozReftestInvalidate", finish_test, false);
   top.innerWidth = initial_width;
-  setTimeout(function() { document.documentElement.removeAttribute('class'); }, 0);
 }
 
-top.innerWidth /= 2;
+function finish_test()
+{
+  document.documentElement.removeAttribute('class');
+}
+
 document.addEventListener("MozReftestInvalidate", restore_width, false);
+top.innerWidth /= 2;
 
     </script>
   </head>