Fix bug in list_differ (#7)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index f5507ba..08d659b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.15.0+2
+
+* Fix a bug in `ListDiffer` that caused a `RangeError`
+
 ## 0.15.0+1
 
 * Fix analysis errors caused via missing `/*<E>*/` syntax in `0.15.0`
diff --git a/lib/src/differs/list_differ.dart b/lib/src/differs/list_differ.dart
index 283b4e0..f55ff4f 100644
--- a/lib/src/differs/list_differ.dart
+++ b/lib/src/differs/list_differ.dart
@@ -210,7 +210,7 @@
   }
 
   if (currentStart == currentEnd) {
-    final spliceRemoved = old.sublist(oldStart, oldStart + oldEnd);
+    final spliceRemoved = old.sublist(oldStart, oldStart + (oldEnd - oldStart));
     return [
       new ListChangeRecord/*<E>*/ .remove(
         current,
diff --git a/pubspec.yaml b/pubspec.yaml
index 30ea8fa..7e3e9b1 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: observable
-version: 0.15.0+1
+version: 0.15.0+2
 author: Dart Team <misc@dartlang.org>
 description: Support for marking objects as observable
 homepage: https://github.com/dart-lang/observable