diff --git a/src/EllieBot/Db/Extensions/DbExtensions.cs b/src/EllieBot/Db/Extensions/DbExtensions.cs
index 7541918..ae95155 100644
--- a/src/EllieBot/Db/Extensions/DbExtensions.cs
+++ b/src/EllieBot/Db/Extensions/DbExtensions.cs
@@ -31,6 +31,7 @@ public static class DbExtensions
         {
             ctx.Add(gfc = new GuildFilterConfig()
             {
+                GuildId = guildId
             });
         }
 
@@ -40,9 +41,23 @@ public static class DbExtensions
     public static GuildConfig GuildConfigsForId(
         this DbContext ctx,
         ulong guildId,
-        Func<IQueryable<GuildConfig>, IQueryable<GuildConfig>> set)
+        Func<IQueryable<GuildConfig>, IQueryable<GuildConfig>> includes = default)
     {
-        var query = ctx.Set<GuildConfig>().Where(gc => gc.GuildId == guildId);
-        return query.FirstOrDefault();
+        includes ??= static set => set;
+
+        var gc = includes(ctx.Set<GuildConfig>()
+                    .Where(gc => gc.GuildId == guildId))
+            .FirstOrDefault();
+
+        if (gc is null)
+        {
+            ctx.Add(gc = new GuildConfig()
+            {
+                GuildId = guildId,
+                Permissions = []
+            });
+        }
+
+        return gc;
     }
 }
\ No newline at end of file