diff --git a/pkgs/stream_channel/CHANGELOG.md b/pkgs/stream_channel/CHANGELOG.md
index b284e5e..3dfbbc6 100644
--- a/pkgs/stream_channel/CHANGELOG.md
+++ b/pkgs/stream_channel/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 1.6.7+1
+
+* Fix Dart 2 runtime types in `IsolateChannel`.
+
 ## 1.6.7
 
 * Update SDK version to 2.0.0-dev.17.0.
diff --git a/pkgs/stream_channel/lib/src/isolate_channel.dart b/pkgs/stream_channel/lib/src/isolate_channel.dart
index 4a1717d..d785ae1 100644
--- a/pkgs/stream_channel/lib/src/isolate_channel.dart
+++ b/pkgs/stream_channel/lib/src/isolate_channel.dart
@@ -49,12 +49,14 @@
     // The first message across the ReceivePort should be a SendPort pointing to
     // the remote end. If it's not, we'll make the stream emit an error
     // complaining.
-    StreamSubscription<T> subscription;
+    StreamSubscription<dynamic> subscription;
     subscription = receivePort.listen((message) {
       if (message is SendPort) {
         var controller = new StreamChannelController<T>(
             allowForeignErrors: false, sync: true);
-        new SubscriptionStream(subscription).pipe(controller.local.sink);
+        new SubscriptionStream(subscription)
+            .cast<T>()
+            .pipe(controller.local.sink);
         controller.local.stream
             .listen((data) => message.send(data), onDone: receivePort.close);
 
@@ -93,7 +95,7 @@
   factory IsolateChannel(ReceivePort receivePort, SendPort sendPort) {
     var controller =
         new StreamChannelController<T>(allowForeignErrors: false, sync: true);
-    receivePort.pipe(controller.local.sink);
+    receivePort.cast<T>().pipe(controller.local.sink);
     controller.local.stream
         .listen((data) => sendPort.send(data), onDone: receivePort.close);
     return new IsolateChannel._(
diff --git a/pkgs/stream_channel/pubspec.yaml b/pkgs/stream_channel/pubspec.yaml
index ff2209c..54bd972 100644
--- a/pkgs/stream_channel/pubspec.yaml
+++ b/pkgs/stream_channel/pubspec.yaml
@@ -1,5 +1,5 @@
 name: stream_channel
-version: 1.6.7
+version: 1.6.7+1
 description: An abstraction for two-way communication channels.
 author: Dart Team <misc@dartlang.org>
 homepage: https://github.com/dart-lang/stream_channel
diff --git a/pkgs/stream_channel/test/isolate_channel_test.dart b/pkgs/stream_channel/test/isolate_channel_test.dart
index 00f4584..4c73ab0 100644
--- a/pkgs/stream_channel/test/isolate_channel_test.dart
+++ b/pkgs/stream_channel/test/isolate_channel_test.dart
@@ -136,8 +136,8 @@
     });
 
     test("create a connected pair of channels", () {
-      var channel1 = new IsolateChannel.connectReceive(connectPort);
-      var channel2 = new IsolateChannel.connectSend(connectPort.sendPort);
+      var channel1 = new IsolateChannel<int>.connectReceive(connectPort);
+      var channel2 = new IsolateChannel<int>.connectSend(connectPort.sendPort);
 
       channel1.sink.add(1);
       channel1.sink.add(2);
