diff --git a/src/routes/channel.rs b/src/routes/channel.rs
index 8dbf4986df096e398c8060b40935c3c4eb8604eb..c49574ed2979f21f3aa8eb4df2458cbe23a68689 100644
--- a/src/routes/channel.rs
+++ b/src/routes/channel.rs
@@ -360,7 +360,28 @@ pub fn delete(user: UserRef, target: ChannelRef) -> Option<Response> {
                 }
             }
         }
-        2 => try_delete(),
+        2 => {
+            if database::get_collection("guilds")
+                .update_one(
+                    doc! { "_id": target.guild.unwrap() },
+                    doc! {
+                        "$pull": {
+                            "invites": {
+                                "channel": &target.id
+                            }
+                        }
+                    },
+                    None,
+                )
+                .is_ok()
+            {
+                try_delete()
+            } else {
+                Some(Response::InternalServerError(
+                    json!({ "error": "Failed to remove invites." }),
+                ))
+            }
+        }
         _ => Some(Response::InternalServerError(
             json!({ "error": "Unknown error has occurred." }),
         )),