diff --git a/package.json b/package.json
index af429d3aca7ed2ec6afae6d22f4aac3515e9e063..fc285c7e4dc1e8f7765c07f5f37a71f8de5df530 100644
--- a/package.json
+++ b/package.json
@@ -8,7 +8,7 @@
 		"build": "npm run tsc",
 		"tsc": "tsc",
 		"tsd": "tsd",
-		"jest": "jest",
+		"jest": "jest --detectOpenHandles",
 		"test": "npm run jest && npm run tsd"
 	},
 	"repository": {
diff --git a/src/streaming.ts b/src/streaming.ts
index 7a809f19af9044e99250335358a5b611dcbc0bef..cc1b9a887b539a655e1bafb99ed19ea7076dbca2 100644
--- a/src/streaming.ts
+++ b/src/streaming.ts
@@ -255,8 +255,7 @@ export default class Stream extends EventEmitter<StreamEvents> {
 	 */
 	@autobind
 	public close() {
-		this.stream.removeEventListener('open', this.onOpen);
-		this.stream.removeEventListener('message', this.onMessage);
+		this.stream.close();
 	}
 }
 
diff --git a/test/streaming.ts b/test/streaming.ts
index afd0852ff8d00089960c7be9a7bb490de5d8c953..7de85ce77547b7c3a626809b9a0f0ddf4861633f 100644
--- a/test/streaming.ts
+++ b/test/streaming.ts
@@ -32,12 +32,14 @@ describe('Streaming', () => {
 			id: 'foo'
 		});
 
+		stream.close();
 		server.close();
 	});
 
+	/* TODO
 	test('useChannel with parameters', async () => {
-		// TODO
 	});
+	*/
 
 	test('Connection#dispose', async () => {
 		const server = new WS('wss://misskey.test/streaming');
@@ -68,6 +70,7 @@ describe('Streaming', () => {
 
 		expect(mainChannelReceived.length).toEqual(0);
 
+		stream.close();
 		server.close();
 	});