Steps to reproduce: 1. I auto-join #gsoc on freenode and have it on hold. 2. Command+T to open the awesometab 3. type 'gsoc' 4. Select using the down arrow the #gsoc channel on moznet (that is there because it's returned by LIST) 5. Press enter. Expected result: joined #gsoc on moznet and have a tab for it. Actual result: restored #gsoc on freenode, and also joined #gsoc on moznet and opened (and selected) a second tab for it.
Interestingly, I ran into the exact same scenario today with one difference: the channel that got restored was the one selected, and the new channel was opened in the background. I didn't realize this was already filed (or forgot). I'll try to look into it sometime soon.