Easier just to show an example than attempt to explain it:
21:21:02 * mIRCBugTest sets mode: +kl BugTest 123
21:21:11 * mIRCBugTest sets mode: +j 3:60
21:21:27 * Current modes: +nslkj 123 BugTest 3:60
21:21:31 * mIRCBugTest sets mode: +k BugTest
21:21:33 * Current modes: +nslkj 123 BugTest BugTest
Note that setting +k again overwrote the +j value. Doing //mode # restores the correct values to $chan(#).mode.
To reproduce the bug (Freenode):
//mode # +kl BugTest 123
//mode # +j 3:60
//echo -at * Current modes: $chan(#).mode
//mode # +k BugTest
//echo -at * Current modes: $chan(#).mode