diff --git a/set_version.sh b/set_version.sh
index aea91d854330d32997002f5205ba09239ea6c4df..4881d5162260a3f7fc50ae7e1d33c618c30db0f0 100755
--- a/set_version.sh
+++ b/set_version.sh
@@ -1,3 +1,3 @@
 #!/bin/bash
-export version=0.5.0-alpha.1
+export version=0.5.0-alpha.2
 echo "pub const VERSION: &str = \"${version}\";" > src/version.rs
diff --git a/src/database/entities/channel.rs b/src/database/entities/channel.rs
index 043799fe4eb6224c063c239f49979334ba585616..d110fa8a66c770ccd900855d3385c36aad7f65e3 100644
--- a/src/database/entities/channel.rs
+++ b/src/database/entities/channel.rs
@@ -205,9 +205,15 @@ impl Channel {
         // Remove from server object.
         if let Channel::TextChannel { server, .. } = &self {
             let server = Ref::from_unchecked(server.clone()).fetch_server().await?;
-            let mut unset = doc! {};
+            let mut update = doc! {
+                "$pull": {
+                    "channels": id
+                }
+            };
 
             if let Some(sys) = &server.system_messages {
+                let mut unset = doc! {};
+
                 if let Some(cid) = &sys.user_joined {
                     if id == cid {
                         unset.insert("system_messages.user_joined", 1);
@@ -231,6 +237,10 @@ impl Channel {
                         unset.insert("system_messages.user_banned", 1);
                     }
                 }
+
+                if unset.len() > 0 {
+                    update.insert("$unset", unset);
+                }
             }
 
             get_collection("servers")
@@ -238,12 +248,7 @@ impl Channel {
                     doc! {
                         "_id": server.id
                     },
-                    doc! {
-                        "$pull": {
-                            "channels": id
-                        },
-                        "$unset": unset
-                    },
+                    update,
                     None,
                 )
                 .await
diff --git a/src/database/permissions/server.rs b/src/database/permissions/server.rs
index 8ca108643b2e7a53948dd0fa2cadef5ad10ed661..6062c645553f303e7f055caa03a1c86c1a75019d 100644
--- a/src/database/permissions/server.rs
+++ b/src/database/permissions/server.rs
@@ -9,7 +9,7 @@ use std::ops;
 #[repr(u32)]
 pub enum ServerPermission {
     View = 0b00000000000000000000000000000001,            // 1
-    ManageMembers = 0b00000000000000000000000000000010,   // 2
+    ManageRoles = 0b00000000000000000000000000000010,     // 2
     ManageChannels = 0b00000000000000000000000000000100,  // 4
     ManageServer = 0b00000000000000000000000000001000,    // 8
     KickMembers = 0b00000000000000000000000000010000,     // 16
diff --git a/src/notifications/subscriptions.rs b/src/notifications/subscriptions.rs
index 86a54cb595de4363a36c8253492cc6118276fa32..4535a89378887aa852d889836da8714b6582a5d9 100644
--- a/src/notifications/subscriptions.rs
+++ b/src/notifications/subscriptions.rs
@@ -1,5 +1,4 @@
 use crate::database::*;
-use crate::util::result::Error;
 
 use super::hive::get_hive;
 use futures::StreamExt;