GnuPG 2.1.14, file sm/keylist.c, line 495 ff. read (my comment added with <<<)
... /* Field 12, capabilities: */ print_capabilities (cert, fp); <<<<<<<< this already writes a colon es_putc (':', fp); <<<<<<<<<<<< this colon is excessive /* Field 13, not used: */ es_putc (':', fp); if (have_secret || ctrl->with_secret) ...
print_capabilities() already writes the colon itself, see line 292.
Hence the '+' marking that a secret key is available is written to column 16
instead of column 15.