diff --git a/sdk/bin/dartanalyzer b/sdk/bin/dartanalyzer
index ffcaef5..cc49a5c 100755
--- a/sdk/bin/dartanalyzer
+++ b/sdk/bin/dartanalyzer
@@ -20,9 +20,12 @@
 
 # Handle the case where dart-sdk/bin has been symlinked to.
 BIN_DIR="$(cd "${PROG_NAME%/*}" ; pwd -P)"
+SDK_DIR="$(cd "${BIN_DIR}/.." ; pwd -P)"
+
+SDK_ARG="--dart-sdk=$SDK_DIR"
 
 SNAPSHOT="$BIN_DIR/snapshots/dartanalyzer.dart.snapshot"
 
 # We are running the snapshot in the built SDK.
 DART="$BIN_DIR/dart"
-exec "$DART" "$SNAPSHOT" "$@"
+exec "$DART" "$SNAPSHOT" "$SDK_ARG" "$@"
diff --git a/sdk/bin/dartanalyzer.bat b/sdk/bin/dartanalyzer.bat
index ba7989f..bca4afb 100644
--- a/sdk/bin/dartanalyzer.bat
+++ b/sdk/bin/dartanalyzer.bat
@@ -14,7 +14,15 @@
 set DART=%BIN_DIR%\dart
 set SNAPSHOT=%BIN_DIR%\snapshots\dartanalyzer.dart.snapshot
 
-"%DART%" "%SNAPSHOT%" %*
+rem Get absolute full name for SDK_DIR.
+for %%i in ("%BIN_DIR%\..\") do set SDK_DIR=%%~fi
+
+rem Remove trailing backslash if there is one
+if %SDK_DIR:~-1%==\ set SDK_DIR=%SDK_DIR:~0,-1%
+
+set SDK_ARG=--dart-sdk=%SDK_DIR%
+
+"%DART%" "%SNAPSHOT%" "%SDK_ARG%" %*
 
 endlocal
 
diff --git a/sdk/lib/collection/splay_tree.dart b/sdk/lib/collection/splay_tree.dart
index 4674f8c..8e2f593 100644
--- a/sdk/lib/collection/splay_tree.dart
+++ b/sdk/lib/collection/splay_tree.dart
@@ -523,6 +523,7 @@
   _SplayTreeIterator.startAt(_SplayTree tree, var startKey)
       : _tree = tree,
         _modificationCount = tree._modificationCount {
+    if (tree._root == null) return;
     int compare = tree._splay(startKey);
     _splayCount = tree._splayCount;
     if (compare < 0) {
diff --git a/tests/corelib/splay_tree_test.dart b/tests/corelib/splay_tree_test.dart
index ee3083d..2557b54 100644
--- a/tests/corelib/splay_tree_test.dart
+++ b/tests/corelib/splay_tree_test.dart
@@ -51,6 +51,7 @@
   Expect.equals(7, tree.firstKeyAfter(6));
 
   regressRemoveWhere();
+  regressRemoveWhere2();
 }
 
 void regressRemoveWhere() {
@@ -65,3 +66,16 @@
     return x.isOdd;
   });
 }
+
+void regressRemoveWhere2() {
+  // Regression test for http://dartbug.com/18676
+  // Removing all elements with removeWhere causes error.
+
+  var t = new SplayTreeSet();
+  t.addAll([1,2,3,4,5]);
+  t.removeWhere((_) => true);  // Should not throw.
+  Expect.isTrue(t.isEmpty);
+  t.addAll([1,2,3,4,5]);
+  t.retainWhere((_) => false);  // Should not throw.
+  Expect.isTrue(t.isEmpty);
+}
diff --git a/tools/VERSION b/tools/VERSION
index d960607..6374033 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -28,4 +28,4 @@
 MINOR 4
 PATCH 0
 PRERELEASE 6
-PRERELEASE_PATCH 1
+PRERELEASE_PATCH 2
