The fact that works at all as a normal join tells me something is screwy with the model – you should get an error since it’s a loop. Do you have all cardinalities defined? And are you using contexts? And if so, are all the joins in one context?
Shortcut joins are applied after contexts are evaluated. They are used only if they can legitimately replace a longer join path with a shorter path. If you’re trying to use a shortcut as an alternative to a context, it’s not going to work as expected / desired.