diff --git a/sparse_list.py b/sparse_list.py
index c7f6b56..e759c96 100644
--- a/sparse_list.py
+++ b/sparse_list.py
@@ -79,6 +79,9 @@ class SparseList(object):
         else:
             indices = (item, )
 
+        if not indices:
+            return
+
         offset = 0
 
         for k in sorted(self.elements.keys()):

diff --git a/test_sparse_list.py b/test_sparse_list.py
index d45461f..ff82f80 100755
--- a/test_sparse_list.py
+++ b/test_sparse_list.py
@@ -176,6 +176,11 @@ class TestSparseList(unittest.TestCase):
         del sl[::2]
         self.assertEqual([1, 3, 5], sl)
 
+    def test_empty_removal(self):
+        sl = sparse_list.SparseList(xrange(5), None)
+        del sl[3:3]
+        self.assertEqual([0, 1, 2, 3, 4], sl)
+
     def test_append(self):
         sl = sparse_list.SparseList(1, 0)
         sl.append(1)

Deleting an empty slice from a sparse list fails
```
sl = sparse_list.SparseList(xrange(5), None)
del sl[3:3]
```

throws `IndexError: range object index out of range` whereas it should just leave the list untouched.
test_sparse_list.py::TestSparseList::test_empty_removal
test_sparse_list.py::TestSparseList::test_access_with_negative_index test_sparse_list.py::TestSparseList::test_access_with_negative_index_with_no_value test_sparse_list.py::TestSparseList::test_append test_sparse_list.py::TestSparseList::test_clone test_sparse_list.py::TestSparseList::test_concatenation test_sparse_list.py::TestSparseList::test_count_default_value test_sparse_list.py::TestSparseList::test_count_value test_sparse_list.py::TestSparseList::test_equality test_sparse_list.py::TestSparseList::test_extend test_sparse_list.py::TestSparseList::test_extended_slice test_sparse_list.py::TestSparseList::test_extended_slice_is_sparse_list test_sparse_list.py::TestSparseList::test_extended_slice_with_negative_stop test_sparse_list.py::TestSparseList::test_get_out_of_bounds test_sparse_list.py::TestSparseList::test_greater_than test_sparse_list.py::TestSparseList::test_in_place_concatenation test_sparse_list.py::TestSparseList::test_index_absent_default_value test_sparse_list.py::TestSparseList::test_index_absent_value test_sparse_list.py::TestSparseList::test_index_default_value test_sparse_list.py::TestSparseList::test_index_value test_sparse_list.py::TestSparseList::test_inequality_left_longer test_sparse_list.py::TestSparseList::test_inequality_same_length test_sparse_list.py::TestSparseList::test_init_default test_sparse_list.py::TestSparseList::test_init_no_default test_sparse_list.py::TestSparseList::test_init_non_zero test_sparse_list.py::TestSparseList::test_init_zero test_sparse_list.py::TestSparseList::test_initialisation_by_dict test_sparse_list.py::TestSparseList::test_initialisation_by_dict_with_non_numeric_key test_sparse_list.py::TestSparseList::test_initialisation_by_generator test_sparse_list.py::TestSparseList::test_initialisation_by_list test_sparse_list.py::TestSparseList::test_iteration_empty test_sparse_list.py::TestSparseList::test_iteration_populated test_sparse_list.py::TestSparseList::test_less_than test_sparse_list.py::TestSparseList::test_membership_absent test_sparse_list.py::TestSparseList::test_membership_present test_sparse_list.py::TestSparseList::test_missing_item_removal test_sparse_list.py::TestSparseList::test_multiply test_sparse_list.py::TestSparseList::test_multiply_in_place test_sparse_list.py::TestSparseList::test_pop_empty test_sparse_list.py::TestSparseList::test_pop_no_value test_sparse_list.py::TestSparseList::test_pop_value test_sparse_list.py::TestSparseList::test_present_item_removal test_sparse_list.py::TestSparseList::test_push_value test_sparse_list.py::TestSparseList::test_random_access_read_absent test_sparse_list.py::TestSparseList::test_random_access_read_present test_sparse_list.py::TestSparseList::test_random_access_write test_sparse_list.py::TestSparseList::test_remove_default_value_does_nothing test_sparse_list.py::TestSparseList::test_remove_non_value test_sparse_list.py::TestSparseList::test_remove_only_first_value test_sparse_list.py::TestSparseList::test_remove_value test_sparse_list.py::TestSparseList::test_reversed test_sparse_list.py::TestSparseList::test_set_out_of_bounds test_sparse_list.py::TestSparseList::test_set_slice_extends_past_end test_sparse_list.py::TestSparseList::test_set_slice_observes_stop test_sparse_list.py::TestSparseList::test_set_slice_resizes test_sparse_list.py::TestSparseList::test_set_slice_with_step test_sparse_list.py::TestSparseList::test_slice test_sparse_list.py::TestSparseList::test_slice_is_sparse_list test_sparse_list.py::TestSparseList::test_slice_list_size test_sparse_list.py::TestSparseList::test_slice_removal test_sparse_list.py::TestSparseList::test_slice_reversal_empty test_sparse_list.py::TestSparseList::test_slice_reversal_full test_sparse_list.py::TestSparseList::test_sorted test_sparse_list.py::TestSparseList::test_stepped_slice_removal test_sparse_list.py::TestSparseList::test_string_representations test_sparse_list.py::TestSparseList::test_unbounded_head_slice_removal test_sparse_list.py::TestSparseList::test_unbounded_tail_slice_removal