Relationship link disabled based on Cache

Assume I have 2 modules: M1 and M2. And I have 2 users: U1 and U2.

U1 has access to M1 and M2.
U2 only has access to M1.

In the detail view of M1, I display a relationship field link to M2.

After repair and rebuild, if U1 is the first user to go to M1 detail view. Then the field to display M2 would display as a link for U1, and for U2 it only display as a label. (This is correct).

However, if after Repair and Rebuild, U2 is the first person go to M1 detail view. Both U1 and U2 now see the M2 field display as label. (I would expect it would display as a link for U1 since U1 has access to M2).

Is this a bug from suitecrm or something I can set to fix this? Thank you!