Why translation is wrong after assigning article to a new shop?

This seems to be a Shopware 5.3.6 bug. Feel free to correct me if I am wrong. Normally, Shopware reads translation for variants where key is ‚variant‘ and for main variant where key is ‚article‘. Then when fetch result to show them on front he merges those 2 values if both are present in engine/Shopware/Bundle/StoreFrontBundle/Gateway/DBAL/Hydrator/ProductHydrator.php line  110 like 

 $translation = array\_merge($translation, $variant);

Because of this, value under key ‚variant‘ will have precedence over ‚article‘ key, wich is ok. But if you change main variant value under ‚variant‘ key is not deleted and then you will have problem with new main variant because it has value for both ‚variant‘ and ‚article‘. Then in the back of shop you edit ‚article‘ all the time, but on front is shown ‚variant‘ all the time. 

My fix was to switch main variants once more.