diff --git a/test/driver.js b/test/driver.js
index 7d6c54509..db6c9b501 100644
--- a/test/driver.js
+++ b/test/driver.js
@@ -50,7 +50,20 @@ function load() {
   r.send(null);
 }
 
+function cleanup() {
+  var styleSheet = document.styleSheets[0];
+  if (styleSheet) {
+    while (styleSheet.cssRules.length > 0)
+      styleSheet.deleteRule(0);
+  }
+  var guard = document.getElementById('content-end');
+  while (document.body.lastChild != guard)
+    document.body.removeChild(document.body.lastChild);
+}
+
 function nextTask() {
+  cleanup();
+
   if (currentTaskIdx == manifest.length) {
     return done();
   }
diff --git a/test/test_slave.html b/test/test_slave.html
index b46e29d6b..57d8d7a83 100644
--- a/test/test_slave.html
+++ b/test/test_slave.html
@@ -14,6 +14,7 @@
 <body onload="load();">
   <pre style="width:800; height:800; overflow: scroll;"id="stdout"></pre>
   <p>Inflight requests: <span id="inFlightCount"></span></p>
+  <div id="content-end"><!-- cleanup() guard --></div>
 </body>
 
 </html>