diff --git a/internal/database/postgres_migrate.go b/internal/database/postgres_migrate.go
index 208919e..3602172 100644
--- a/internal/database/postgres_migrate.go
+++ b/internal/database/postgres_migrate.go
@@ -1340,9 +1340,9 @@ CREATE INDEX release_cut_index
CREATE INDEX release_hybrid_index
ON "release" (hybrid);
`,
- `UPDATE irc_channel
- SET name = '#ptp-announce'
- WHERE name = '#ptp-announce-dev';
+ `UPDATE irc_channel
+ SET name = '#ptp-announce'
+ WHERE name = '#ptp-announce-dev' AND NOT EXISTS (SELECT 1 FROM irc_channel WHERE name = '#ptp-announce');
UPDATE irc_network
SET invite_command = REPLACE(invite_command, '#ptp-announce-dev', '#ptp-announce')
diff --git a/internal/database/sqlite_migrate.go b/internal/database/sqlite_migrate.go
index 2130290..fbf563e 100644
--- a/internal/database/sqlite_migrate.go
+++ b/internal/database/sqlite_migrate.go
@@ -1987,7 +1987,7 @@ CREATE INDEX release_hybrid_index
`,
`UPDATE irc_channel
SET name = '#ptp-announce'
- WHERE name = '#ptp-announce-dev';
+ WHERE name = '#ptp-announce-dev' AND NOT EXISTS (SELECT 1 FROM irc_channel WHERE name = '#ptp-announce');
`,
`UPDATE irc_network
SET invite_command = REPLACE(invite_command, '#ptp-announce-dev', '#ptp-announce')
diff --git a/web/src/forms/settings/IrcForms.tsx b/web/src/forms/settings/IrcForms.tsx
index 135e00d..087c708 100644
--- a/web/src/forms/settings/IrcForms.tsx
+++ b/web/src/forms/settings/IrcForms.tsx
@@ -34,9 +34,7 @@ const ChannelsFieldArray = ({ channels }: ChannelsFieldArrayProps) => (
{({ remove, push }: FieldArrayRenderProps) => (