It seems like this is broken ... on purpose. In
There's a commented line:
% This only returns the color table for the first frame in the GIF file.
% There is an enhancement (g1055265) to make this return all color tables.
map = info.ColorTable;
I'm not sure why the map is set only to the first frame's colormap. If you're willing to modify built in matlab files then you can "fix" this so that map is a #colors by 3 by #frames matrix then change this line to:
map = reshape([info(:).ColorTable],,3,n);