diff --git a/lib/browsers/chrome.js b/lib/browsers/chrome.js
index <HASH>..<HASH> 100644
--- a/lib/browsers/chrome.js
+++ b/lib/browsers/chrome.js
@@ -360,7 +360,7 @@ chrome.checkIfPageIsDoneLoading = function(tab) {
 chrome.parseHtmlFromPage = function(tab) {
 	return new Promise((resolve, reject) => {
 
-		setTimeout(() => {
+		var parseTimeout = setTimeout(() => {
 			util.log('parse html timed out', tab.prerender.url);
 			tab.prerender.statusCode = 504;
 			reject();
@@ -382,10 +382,12 @@ chrome.parseHtmlFromPage = function(tab) {
 			}
 
 			tab.prerender.documentHTML = doctype + tab.prerender.documentHTML;
+			clearTimeout(parseTimeout);
 			resolve();
 		}).catch((err) => {
 			util.log('unable to parse HTML', err);
 			tab.prerender.statusCode = 504;
+			clearTimeout(parseTimeout);
 			reject();
 		});
 	});
clear the parse html timeout on normal execution path