diff --git a/tempsdb/series.pyx b/tempsdb/series.pyx
index e288eeb330eaf0a384be02dbe988331896fdebaa..5f1603bdd6f445de8e022e5b8c7ef65866842d46 100644
--- a/tempsdb/series.pyx
+++ b/tempsdb/series.pyx
@@ -159,7 +159,10 @@ cdef class TimeSeries:
                     raise Corruption('Detected invalid file "%s"' % (filename, ))
             self.chunks.sort()
 
-            last_chunk_name, is_direct, is_gzip = self.chunks[-1]
+            try:
+                last_chunk_name, is_direct, is_gzip = self.chunks[-1]
+            except IndexError as e:
+                raise Corruption('Corrupted series: %s' % (e, )) from e
             self.last_chunk = self.open_chunk(last_chunk_name, is_direct, is_gzip)
             self.last_entry_ts = self.last_chunk.max_ts
 
diff --git a/tests/test_series.py b/tests/test_series.py
index 65f08c77ba255ea924256fe014b4f044cbc404ed..658e75a76363953c7fdae7fca4320e8a8dbb8c73 100644
--- a/tests/test_series.py
+++ b/tests/test_series.py
@@ -32,7 +32,7 @@ class TestSeries(unittest.TestCase):
         series = create_series('test10', 'test10', 10, 4096)
         series.close()
         write_json_to_file('test10/metadata.txt', {})
-        self.assertRaises(Corruption, TimeSeries('test10', 'test10'))
+        self.assertRaises(Corruption, lambda: TimeSeries('test10', 'test10'))
 
     def test_trim_multiple_chunks_with_close(self):
         from tempsdb.series import create_series, TimeSeries