diff --git a/assets/src/scripts/components/hydrograph/index.js b/assets/src/scripts/components/hydrograph/index.js
index 8628f53c902e27517366af381d3949b2ed6ac356..ec6d19761b79be187f86041a5bbd3eeb92aafea2 100644
--- a/assets/src/scripts/components/hydrograph/index.js
+++ b/assets/src/scripts/components/hydrograph/index.js
@@ -23,7 +23,7 @@ const { drawSimpleLegend, legendMarkerRowsSelector } = require('./legend');
 const { plotSeriesSelectTable, availableTimeseriesSelector } = require('./parameters');
 const { xScaleSelector, yScaleSelector, timeSeriesScalesByParmCdSelector } = require('./scales');
 const { allTimeSeriesSelector,  isVisibleSelector, titleSelector,
-    descriptionSelector,  currentVariableTimeSeriesSelector, timeSeriesSelector } = require('./timeSeries');
+    descriptionSelector,  currentVariableTimeSeriesSelector, hasTimeSeriesWithPoints } = require('./timeSeries');
 const { createTooltipFocus, createTooltipText } = require('./tooltip');
 
 const { getCurrentVariable } = require('../../selectors/timeSeriesSelector');
@@ -377,18 +377,17 @@ const graphControls = function(elem) {
 };
 
 /**
- * Modify styling to hide or display the plot area.
+ * Modify styling to hide or display the elem.
  *
  * @param elem
  * @param currentTimeseries
  */
-const controlGraphDisplay = function (elem, currentTimeseries) {
-    const seriesWithPoints = Object.values(currentTimeseries).filter(x => x.points.length > 0);
-    elem.attr('hidden', seriesWithPoints.length === 0 ? true : null);
+const controlDisplay = function (elem, hasSeriesWithPoints) {
+    elem.attr('hidden', hasSeriesWithPoints ? null : true);
 };
 
 
-const createDaterangeControls = function(elem, siteno) {
+const createDaterangeControls = function(elem, {siteno, hasTimeSeriesWithPoints}) {
     const DATE_RANGE = [{
         label: 'seven-day',
         name: '7 days',
@@ -402,27 +401,30 @@ const createDaterangeControls = function(elem, siteno) {
         name: '1 year',
         period: 'P1Y'
     }];
-    const container = elem.insert('ul', ':first-child')
-        .attr('id', 'ts-daterange-select-container')
-        .attr('class', 'usa-fieldset-inputs usa-unstyled-list');
-    const li = container.selectAll('li')
-        .data(DATE_RANGE)
-        .enter().append('li');
-    li.append('input')
-        .attr('type', 'radio')
-        .attr('name', 'ts-daterange-input')
-        .attr('id', (d) => d.label)
-        .attr('value', (d) => d.period)
-        .on('change', dispatch(function() {
-            return Actions.retrieveExtendedTimeseries(
-                siteno,
-                li.select('input:checked').attr('value')
-            );
-        }));
-    li.append('label')
-        .attr('for', (d) => d.label)
-        .text((d) => d.name);
-    li.select(`#${DATE_RANGE[0].label}`).attr('checked', true);
+    elem.select('#ts-daterange-select-container').remove();
+    if (hasTimeSeriesWithPoints) {
+        const container = elem.insert('ul', ':first-child')
+            .attr('id', 'ts-daterange-select-container')
+            .attr('class', 'usa-fieldset-inputs usa-unstyled-list');
+        const li = container.selectAll('li')
+            .data(DATE_RANGE)
+            .enter().append('li');
+        li.append('input')
+            .attr('type', 'radio')
+            .attr('name', 'ts-daterange-input')
+            .attr('id', (d) => d.label)
+            .attr('value', (d) => d.period)
+            .on('change', dispatch(function () {
+                return Actions.retrieveExtendedTimeseries(
+                    siteno,
+                    li.select('input:checked').attr('value')
+                );
+            }));
+        li.append('label')
+            .attr('for', (d) => d.label)
+            .text((d) => d.name);
+        li.select(`#${DATE_RANGE[0].label}`).attr('checked', true);
+    }
 };
 
 const attachToNode = function (store, node, {siteno} = {}) {
@@ -434,10 +436,13 @@ const attachToNode = function (store, node, {siteno} = {}) {
     store.dispatch(Actions.resizeUI(window.innerWidth, node.offsetWidth));
     select(node)
         .call(provide(store))
-        .call(createDaterangeControls, siteno);
+        .call(link(createDaterangeControls, createStructuredSelector({
+            siteno: () => siteno,
+            hasTimeSeriesWithPoints: hasTimeSeriesWithPoints('current', 'P7D')
+        })));
 
     select(node).select('.graph-container')
-        .call(link(controlGraphDisplay, timeSeriesSelector('current')))
+        .call(link(controlDisplay, hasTimeSeriesWithPoints('current', 'P7D')))
         .call(timeSeriesGraph, siteno)
         .call(cursorSlider)
         .append('div')
diff --git a/assets/src/scripts/components/hydrograph/timeSeries.js b/assets/src/scripts/components/hydrograph/timeSeries.js
index e799f0a762f5bdb71b7aca20e3f3197603d99950..6c4d669884cc5c333774bb294ace4b8e2a7a1d34 100644
--- a/assets/src/scripts/components/hydrograph/timeSeries.js
+++ b/assets/src/scripts/components/hydrograph/timeSeries.js
@@ -81,7 +81,12 @@ export const timeSeriesSelector = memoize((tsKey, period) => createSelector(
     }
 ));
 
-
+export const hasTimeSeriesWithPoints = memoize((tsKey, period) => createSelector(
+    timeSeriesSelector(tsKey, period),
+    (timeSeries) => {
+        const seriesWithPoints = Object.values(timeSeries).filter(x => x.points.length > 0);
+        return seriesWithPoints.length > 0;
+}));
 
 /**
  * Factory function creates a function that:
diff --git a/assets/src/scripts/components/hydrograph/timeSeries.spec.js b/assets/src/scripts/components/hydrograph/timeSeries.spec.js
index 11cc82d1be95e03da388be574192c4e87ca422d4..8e586409bfad5846db9c51f62f835d79264a1a7c 100644
--- a/assets/src/scripts/components/hydrograph/timeSeries.spec.js
+++ b/assets/src/scripts/components/hydrograph/timeSeries.spec.js
@@ -1,4 +1,4 @@
-const { timeSeriesSelector, isVisibleSelector, yLabelSelector,
+const { timeSeriesSelector, hasTimeSeriesWithPoints, isVisibleSelector, yLabelSelector,
     titleSelector, descriptionSelector, currentVariableTimeSeriesSelector,
     allTimeSeriesSelector, requestTimeRangeSelector} = require('./timeSeries');
 
@@ -332,6 +332,40 @@ describe('TimeSeries module', () => {
         });
     });
 
+    describe('hasTimeSeriesWithPoints', () => {
+        it('Returns true if the time series for tsKey and period have non zero points', () => {
+            expect(hasTimeSeriesWithPoints('current')(TEST_DATA)).toBe(true);
+            expect(hasTimeSeriesWithPoints('current', 'P30D')(TEST_DATA)).toBe(true);
+        });
+        it('Returns false if the times series for tsKey and period have zero points', () => {
+            const newTestData = {
+                ...TEST_DATA,
+                series: {
+                    ...TEST_DATA.series,
+                    timeSeries: {
+                        ...TEST_DATA.series.timeSeries,
+                        '00060': {
+                            tsKey: 'current:P7D',
+                            startTime: new Date('2018-03-06T15:45:00.000Z'),
+                            endTime: new Date('2018-03-13T13:45:00.000Z'),
+                            variable: '45807197',
+                            points: []
+                        },
+                        '00060:P30D': {
+                            tsKey: 'current:P30D:00060',
+                            startTime: new Date('2018-02-06T15:45:00.000Z'),
+                            endTime: new Date('2018-02-13T13:45:00.000Z'),
+                            variable: '45807197',
+                            points: []
+                        }
+                    }
+                }
+            };
+            expect(hasTimeSeriesWithPoints('current')(newTestData)).toBe(false);
+            expect(hasTimeSeriesWithPoints('current', 'P30D')(newTestData)).toBe(false);
+        });
+    });
+
     describe('isVisibleSelector', () => {
         it('Returns whether the time series is visible', () => {
             const store = {