summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/regchannel.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/regchannel.cpp b/src/regchannel.cpp
index fb8036677..ad9a0eac7 100644
--- a/src/regchannel.cpp
+++ b/src/regchannel.cpp
@@ -394,9 +394,10 @@ void ChannelInfo::LoadMLock()
if (this->HasFlag(CI_PERSIST) && !this->c)
{
this->c = new Channel(this->name, this->time_registered);
- if (!this->bi)
+ if (!this->bi && ModeManager::FindChannelModeByName(CMODE_PERM) == NULL)
ChanServ->Assign(NULL, this);
- this->bi->Join(c);
+ else if (this->bi)
+ this->bi->Join(c);
check_modes(this->c);
this->CheckTopic();
}