I'm working on a design in Altium 15.1.9 and for some reason Altium is telling me that some of the component footprints don't match their library footprints. I've gone through the Update From PCB Libraries process many times but this doesn't appear to actually update the footprints, because Altium still tells me they don't match the library footprint. Some of these components share the same footprint (just a 0805) as other components that do match their library reference. I've replaced every single component footprint with the library footprint but still the same thing happens for a specific 42 components. There's no link between them, from what I can tell, it appears to be a random selection of parts, not in the same area or even on the same side.
During the Update From PCB Libraries process in the Difference Details section, it looks like it's something to do with Mechanical 13 (3D body layer), as the primitives on this layer for the non-matching parts are listed. I can't discern any difference between them and a) other parts on the board with the same footprint, and b) the library footprint itself.
Oddly, if I delete an offending component and import changes to PCB to replace it, Altium is then happy that it matches it's library reference. But when I then move the part to the bottom layer to place it again, Altium declares it non-matching. For offending parts on the top layer, as soon as I connect it to a track it then becomes non-matching.
Any ideas?!