This is introduced in commit feea6946a5b746ff4ebf8ccdf959e303203a6011 (diff-files: treat "i-t-a" files as "not-in-index"). I guess this leads to add-patch skipping directly to attempting to apply the hunk, rather than trying to combine it with what's already in the index, and apply --check --cached correctly reports that it's already in the index. I'm looking at add-patch.c but it's not immediately obvious to me how it handles already-staged changes, so I don't have a proposed patch.