diff --git a/geomagio/Util.py b/geomagio/Util.py
index e9d8ca5c3364125b920f54fd6696c38a2919bc1f..8efbeda304bb4cfcafcbfee94cec1064d17517a8 100644
--- a/geomagio/Util.py
+++ b/geomagio/Util.py
@@ -70,6 +70,7 @@ def get_intervals(starttime, endtime, size=86400, align=True, trim=False):
         end of time interval to divide
     size : int
         size of each interval in seconds.
+        when <= 0, returns one interval from start to end.
     align : bool
         align intervals to unix epoch.
         (works best when size evenly divides a day)
@@ -82,6 +83,11 @@ def get_intervals(starttime, endtime, size=86400, align=True, trim=False):
         each dictionary has the keys "starttime" and "endtime"
         which represent [intervalstart, intervalend).
     """
+    if size <= 0:
+        return [{
+            'start': starttime,
+            'end': endtime
+        }]
     if align:
         # align based on size
         time = starttime - (starttime.timestamp % size)
diff --git a/test/Util_test.py b/test/Util_test.py
index 01618de6a0473e0246a3e007c3bc0b5a0b287fe3..b84748a32080acc332a999b4eab6642fc10b5c62 100644
--- a/test/Util_test.py
+++ b/test/Util_test.py
@@ -57,6 +57,17 @@ def test_get_interval__custom_size():
     assert_equals(len(intervals), 24)
 
 
+def test_get_interval__negative_size():
+    """Util_test.test_get_interval__negative_size()
+    """
+    starttime = UTCDateTime('2015-01-01T00:00:00Z')
+    endtime = UTCDateTime('2015-01-02T00:00:00Z')
+    intervals = Util.get_intervals(starttime, endtime, size=-1)
+    assert_equals(len(intervals), 1)
+    assert_equals(intervals[0]['start'], starttime)
+    assert_equals(intervals[0]['end'], endtime)
+
+
 def test_get_interval__trim():
     """Util_test.test_get_interval__trim()
     """