diff --git a/mirai-core-qqandroid/src/jvmMain/kotlin/net/mamoe/mirai/qqandroid/utils/addSuppressedMirai.kt b/mirai-core-qqandroid/src/jvmMain/kotlin/net/mamoe/mirai/qqandroid/utils/addSuppressedMirai.kt
index 0feb87627..ba0f090e4 100644
--- a/mirai-core-qqandroid/src/jvmMain/kotlin/net/mamoe/mirai/qqandroid/utils/addSuppressedMirai.kt
+++ b/mirai-core-qqandroid/src/jvmMain/kotlin/net/mamoe/mirai/qqandroid/utils/addSuppressedMirai.kt
@@ -2,4 +2,10 @@ package net.mamoe.mirai.qqandroid.utils
 
 @PublishedApi
 internal actual fun Throwable.addSuppressedMirai(e: Throwable) {
+    if (e === this) {
+        return
+    }
+    kotlin.runCatching {
+        this.addSuppressed(e)
+    }
 }
\ No newline at end of file