diff --git a/packages/file/lib/src/backends/memory/memory_file.dart b/packages/file/lib/src/backends/memory/memory_file.dart
index 5236744..c2a46f7 100644
--- a/packages/file/lib/src/backends/memory/memory_file.dart
+++ b/packages/file/lib/src/backends/memory/memory_file.dart
@@ -416,19 +416,18 @@
   Future<void> addStream(Stream<List<int>> stream) {
     _checkNotStreaming();
     _streamCompleter = Completer<void>();
-    void finish() {
-      _streamCompleter!.complete();
-      _streamCompleter = null;
-    }
 
     stream.listen(
       (List<int> data) => _addData(data),
       cancelOnError: true,
       onError: (Object error, StackTrace stackTrace) {
-        _completer.completeError(error, stackTrace);
-        finish();
+        _streamCompleter!.completeError(error, stackTrace);
+        _streamCompleter = null;
       },
-      onDone: finish,
+      onDone: () {
+        _streamCompleter!.complete();
+        _streamCompleter = null;
+      },
     );
     return _streamCompleter!.future;
   }
diff --git a/packages/file/test/memory_test.dart b/packages/file/test/memory_test.dart
index 8e358be..f3b324e 100644
--- a/packages/file/test/memory_test.dart
+++ b/packages/file/test/memory_test.dart
@@ -2,6 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+import 'dart:async';
 import 'dart:io' as io;
 
 import 'package:file/file.dart';
@@ -148,4 +149,25 @@
 
     expect(tempDir.existsSync(), true);
   });
+
+  test(
+      'addStream forwards error to returned future and file can still be '
+      'closed', () async {
+    final file = MemoryFileSystem.test().file('foo').openWrite();
+    await expectLater(file.addStream(Stream.error('bar')), throwsA('bar'));
+    await file.close();
+  });
+
+  test(
+      'addStream cancels on error and does not misbehave if the stream '
+      'produces multiple errors and then closes', () async {
+    final file = MemoryFileSystem.test().file('foo').openWrite();
+    final controller = StreamController<List<int>>()
+      ..addError('bar')
+      ..addError('baz');
+    final close = controller.close();
+    await expectLater(file.addStream(controller.stream), throwsA('bar'));
+    await file.close();
+    await close;
+  });
 }
