diff --git a/core/js/tests/specHelper.js b/core/js/tests/specHelper.js
index b11932405806a10aae40ca8fea84090e4e7deb34..48dcb97ef769981a243ec0ac0c9384285e567259 100644
--- a/core/js/tests/specHelper.js
+++ b/core/js/tests/specHelper.js
@@ -68,9 +68,14 @@ window.oc_defaults = {};
 // global setup for all tests
 (function setupTests() {
 	var fakeServer = null,
+		$testArea = null,
 		routesRequestStub;
 
 	beforeEach(function() {
+		// test area for elements that need absolute selector access or measure widths/heights
+		// which wouldn't work for detached or hidden elements
+		$testArea = $('<div id="testArea" style="position: absolute; width: 1280px; height: 800px; top: -3000px; left: -3000px;"></div>');
+		$('body').append($testArea);
 		// enforce fake XHR, tests should not depend on the server and
 		// must use fake responses for expected calls
 		fakeServer = sinon.fakeServer.create();
@@ -101,6 +106,8 @@ window.oc_defaults = {};
 		// uncomment this to log requests
 		// console.log(window.fakeServer.requests);
 		fakeServer.restore();
+
+		$testArea.remove();
 	});
 })();