diff --git a/assets/src/scripts/components/hydrograph/tooltip.js b/assets/src/scripts/components/hydrograph/tooltip.js
index 5402df80d5d98ba7e648f4f1437b29eddaa62754..a42c09f0df565115515dac927252dcbb5df32e3f 100644
--- a/assets/src/scripts/components/hydrograph/tooltip.js
+++ b/assets/src/scripts/components/hydrograph/tooltip.js
@@ -9,6 +9,7 @@ const { dispatch, link, initAndUpdate } = require('../../lib/redux');
 
 const { cursorTimeSelector, tsCursorPointsSelector } = require('./cursor');
 const { classesForPoint, MASK_DESC } = require('./drawingData');
+const { MARGIN, layoutSelector } = require('./layout');
 const { xScaleSelector, yScaleSelector } = require('./scales');
 const { currentVariableSelector } = require('./timeseries');
 const { Actions } = require('../../store');
@@ -227,12 +228,14 @@ const createTooltipFocus = function(elem) {
         }
     )));
 
-    elem.call(link(function (elem, xScale) {
+    elem.call(link(function (elem, {xScale, layout}) {
         elem.select('.overlay').remove();
         elem.append('rect')
             .attr('class', 'overlay')
-            .attr('width', '100%')
-            .attr('height', '100%')
+            .attr('x', 0)
+            .attr('y', 0)
+            .attr('width', layout.width - MARGIN.right)
+            .attr('height', layout.height - (MARGIN.top + MARGIN.bottom))
             .on('mouseover', dispatch(function() {
                 const selectedTime = xScale.invert(mouse(elem.node())[0]).getTime();
                 const startTime = xScale.domain()[0].getTime();
@@ -246,7 +249,10 @@ const createTooltipFocus = function(elem) {
                 const startTime = xScale.domain()[0].getTime();
                 return Actions.setCursorOffset(selectedTime - startTime);
             }));
-    }, xScaleSelector('current')));
+    }, createStructuredSelector({
+        xScale: xScaleSelector('current'),
+        layout: layoutSelector
+    })));
 };
 
 module.exports = {createTooltipFocus, createTooltipText, tooltipPointsSelector};