ROOMSTATE incorrect when it changes after initial join ROOMSTATE

The documentation states:

For a join, the message contains all chat-room settings. For changes, only the relevant tag is sent.

The example shows this correctly:

Example: On the dallas channel, slow mode is set to 10 seconds:

> @slow=10 :tmi.twitch.tv ROOMSTATE #dallas

Only including the relevant tag would be fine (and I think it did before), but at least right now it’s sending all the tags, but all the non-changed ones set to “0”:

SENT: PRIVMSG #tduvatest :/slow
@msg-id=slow_on :tmi.twitch.tv NOTICE #tduvatest :This room is now in slow mode. You may send messages every 120 seconds.
@emote-only=0;followers-only=0;r9k=0;rituals=0;room-id=41140058;slow=120;subs-only=0 :tmi.twitch.tv ROOMSTATE #tduvatest

SENT: PRIVMSG #tduvatest :/emoteonly
@msg-id=emote_only_on :tmi.twitch.tv NOTICE #tduvatest :This room is now in emote-only mode.
@emote-only=1;followers-only=0;r9k=0;rituals=0;room-id=41140058;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #tduvatest

On join:

@emote-only=1;followers-only=-1;r9k=0;rituals=0;room-id=41140058;slow=120;subs-only=0 :tmi.twitch.tv ROOMSTATE #tduvatest

So it is sending wrong information on ROOMSTATE change messages.