diff --git a/mirai-core/src/commonMain/kotlin/network/handler/CommonNetworkHandler.kt b/mirai-core/src/commonMain/kotlin/network/handler/CommonNetworkHandler.kt
index ed0a38d24..195f9c8fa 100644
--- a/mirai-core/src/commonMain/kotlin/network/handler/CommonNetworkHandler.kt
+++ b/mirai-core/src/commonMain/kotlin/network/handler/CommonNetworkHandler.kt
@@ -162,9 +162,9 @@ internal abstract class CommonNetworkHandler<Conn>(
     ///////////////////////////////////////////////////////////////////////////
 
     override fun close(cause: Throwable?) {
+        super.close(cause) // cancel coroutine scope
         if (state == NetworkHandler.State.CLOSED) return // quick check if already closed
         if (setState { StateClosed(cause) } == null) return // atomic check
-        super.close(cause) // cancel coroutine scope
     }
 
     init {
diff --git a/mirai-core/src/commonTest/kotlin/network/framework/AbstractCommonNHTest.kt b/mirai-core/src/commonTest/kotlin/network/framework/AbstractCommonNHTest.kt
index 9368c290b..90f833b93 100644
--- a/mirai-core/src/commonTest/kotlin/network/framework/AbstractCommonNHTest.kt
+++ b/mirai-core/src/commonTest/kotlin/network/framework/AbstractCommonNHTest.kt
@@ -100,8 +100,6 @@ internal expect abstract class AbstractCommonNHTest() :
 
     val conn: PlatformConn
 
-    override val network: TestCommonNetworkHandler
-
     override val factory: NetworkHandlerFactory<TestCommonNetworkHandler>
 
     protected fun removeOutgoingPacketEncoder()
diff --git a/mirai-core/src/jvmBaseTest/kotlin/network/framework/AbstractCommonNHTest.kt b/mirai-core/src/jvmBaseTest/kotlin/network/framework/AbstractCommonNHTest.kt
index 40a5bef12..cb30348bf 100644
--- a/mirai-core/src/jvmBaseTest/kotlin/network/framework/AbstractCommonNHTest.kt
+++ b/mirai-core/src/jvmBaseTest/kotlin/network/framework/AbstractCommonNHTest.kt
@@ -20,9 +20,6 @@ import kotlin.test.AfterTest
  */
 internal actual abstract class AbstractCommonNHTest actual constructor() :
     AbstractRealNetworkHandlerTest<TestCommonNetworkHandler>() {
-    actual override val network: TestCommonNetworkHandler by lazy {
-        factory.create(createContext(), createAddress())
-    }
 
     private val startedDispatchers = mutableListOf<ExecutorCoroutineDispatcher>()
 
diff --git a/mirai-core/src/nativeTest/kotlin/network/framework/AbstractCommonNHTest.kt b/mirai-core/src/nativeTest/kotlin/network/framework/AbstractCommonNHTest.kt
index 57637ddaa..fa0e6fc9f 100644
--- a/mirai-core/src/nativeTest/kotlin/network/framework/AbstractCommonNHTest.kt
+++ b/mirai-core/src/nativeTest/kotlin/network/framework/AbstractCommonNHTest.kt
@@ -19,10 +19,6 @@ import net.mamoe.mirai.internal.network.handler.NetworkHandlerFactory
 internal actual abstract class AbstractCommonNHTest actual constructor() :
     AbstractRealNetworkHandlerTest<TestCommonNetworkHandler>() {
 
-    actual override val network: TestCommonNetworkHandler by lazy {
-        factory.create(createContext(), createAddress())
-    }
-
     actual override val factory: NetworkHandlerFactory<TestCommonNetworkHandler> =
         NetworkHandlerFactory<TestCommonNetworkHandler> { context, address ->
             object : TestCommonNetworkHandler(bot, context, address) {