SDL_Keysym.mod different for SDL_KEYUP and SDL_KEYDOWN

I am currently facing the following problem:
When polling modifier keys via SDL_PollEvent, I am getting different results in SDL_Keysym.mod. When using them alone, then with SDL_KEYDOWN, the modifiers are returned, but not with SDL_KEYUP. So e.g. for left control SDL_Keysym.mod contains 0x0040 on SDL_KEYDOWN but 0x0000 on SDL_KEYUP.

Why is the behavior different here? Is that intentional or a bug?

Note: For an application, I am defining keys mappings on SDL_KEYUP. This allows mapping combos of modifier keys and normal keys. Later I am using them on SDL_KEYDOWN for instant reaction. This works well when the modifier keys are combined with other keys, but not if I want to use them alone. Then the problem above arises.