diff --git a/CHANGELOG.md b/CHANGELOG.md
index fa4cb6e..83ca15b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+## 1.0.2
+
+* `SpanScanner` no longer crashes when creating a span that contains a UTF-16
+  surrogate pair.
+
 ## 1.0.1
 
 * Fix the error text emitted by `StringScanner.expectChar()`.
diff --git a/lib/src/span_scanner.dart b/lib/src/span_scanner.dart
index 043021b..f362223 100644
--- a/lib/src/span_scanner.dart
+++ b/lib/src/span_scanner.dart
@@ -56,7 +56,7 @@
   /// [FileSpan]s as well as for error reporting. It can be a [String], a
   /// [Uri], or `null`.
   SpanScanner(String string, {sourceUrl, int position})
-      : _sourceFile = new SourceFile(string, url: sourceUrl),
+      : _sourceFile = new SourceFile.fromString(string, url: sourceUrl),
         super(string, sourceUrl: sourceUrl, position: position);
 
   /// Creates a new [SpanScanner] that eagerly computes line and column numbers.
diff --git a/lib/src/string_scanner.dart b/lib/src/string_scanner.dart
index 5817d56..712292c 100644
--- a/lib/src/string_scanner.dart
+++ b/lib/src/string_scanner.dart
@@ -204,7 +204,7 @@
     }
     if (length == null) length = match == null ? 0 : match.end - match.start;
 
-    var sourceFile = new SourceFile(string, url: sourceUrl);
+    var sourceFile = new SourceFile.fromString(string, url: sourceUrl);
     var span = sourceFile.span(position, position + length);
     throw new StringScannerException(message, span, string);
   }
diff --git a/pubspec.yaml b/pubspec.yaml
index ac893e2..f0862ee 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,12 +1,12 @@
 name: string_scanner
-version: 1.0.1
+version: 1.0.2
 author: "Dart Team <misc@dartlang.org>"
 homepage: https://github.com/dart-lang/string_scanner
 description: >
   A class for parsing strings using a sequence of patterns.
 dependencies:
   charcode: "^1.1.0"
-  source_span: "^1.0.0"
+  source_span: "^1.4.0"
 dev_dependencies:
   test: ">=0.12.0 <0.13.0"
 environment:
diff --git a/test/span_scanner_test.dart b/test/span_scanner_test.dart
index 84d7b94..ab3cc80 100644
--- a/test/span_scanner_test.dart
+++ b/test/span_scanner_test.dart
@@ -9,12 +9,13 @@
 import 'utils.dart';
 
 void main() {
-  testForImplementation("lazy", () {
-    return new SpanScanner('foo\nbar\nbaz', sourceUrl: 'source');
+  testForImplementation("lazy", ([string]) {
+    return new SpanScanner(string ?? 'foo\nbar\nbaz', sourceUrl: 'source');
   });
 
-  testForImplementation("eager", () {
-    return new SpanScanner.eager('foo\nbar\nbaz', sourceUrl: 'source');
+  testForImplementation("eager", ([string]) {
+    return new SpanScanner.eager(string ?? 'foo\nbar\nbaz',
+        sourceUrl: 'source');
   });
 
   group("within", () {
@@ -23,7 +24,7 @@
 
     var scanner;
     setUp(() {
-      var file = new SourceFile(text, url: 'source');
+      var file = new SourceFile.fromString(text, url: 'source');
       scanner = new SpanScanner.within(
           file.span(startOffset, text.indexOf(' :after')));
     });
@@ -136,6 +137,15 @@
       expect(span.text, equals('o\nbar\nba'));
     });
 
+    test(".spanFrom() handles surrogate pairs correctly", () {
+      scanner = create('fo\u{12345}o');
+      scanner.scan('fo');
+      var state = scanner.state;
+      scanner.scan('\u{12345}o');
+      var span = scanner.spanFrom(state);
+      expect(span.text, equals('\u{12345}o'));
+    });
+
     test(".emptySpan returns an empty span at the current location", () {
       scanner.scan('foo\nba');
 
