A device comprising: a processor; and a memory in communication with the processor, the memory comprising executable instructions that, when executed by the processor, cause the processor to control the device to perform functions of: receiving, from a remote device via a communication network, user interaction data indicating user interaction with a graphical user interface, GUI, of the remote device causing a visual element to appear on the GUI, wherein the remote device operates a virtual application hosted by the device in a virtual machine environment, the virtual application generating the GUI; determining, based on the user interaction data, that the user interaction causes a display conflict between the GUI of the remote device and a visual image displayed on the GUI of the remote device , the display conflict including an area of the GUI where the visual element is caused to appear being at least partially blocked by the visual image displayed on the GUI so that a user cannot see the visual element; and calculating coordinates for the visual element on the GUI and providing the calculated coordinates to the remote device to allow the remote device to remove a portion of the visual image displayed on the GUI corresponding to the calculated coordinates so that the user can see the visual element. a processor; and a memory in communication with the processor, the memory comprising executable instructions that, when executed by the processor, cause the processor to control the device to perform functions of: receiving, from a remote device via a communication network, user interaction data indicating user interaction with a graphical user interface, GUI, of the remote device causing a visual element to appear on the GUI, wherein the remote device operates a virtual application hosted by the device in a virtual machine environment, the virtual application generating the GUI; determining, based on the user interaction data, that the user interaction causes a display conflict between the GUI of the remote device and a visual image displayed on the GUI of the remote device , the display conflict including an area of the GUI where the visual element is caused to appear being at least partially blocked by the visual image displayed on the GUI so that a user cannot see the visual element; and calculating coordinates for the visual element on the GUI and providing the calculated coordinates to the remote device to allow the remote device to remove a portion of the visual image displayed on the GUI corresponding to the calculated coordinates so that the user can see the visual element. receiving, from a remote device via a communication network, user interaction data indicating user interaction with a graphical user interface, GUI, of the remote device causing a visual element to appear on the GUI, wherein the remote device operates a virtual application hosted by the device in a virtual machine environment, the virtual application generating the GUI; determining, based on the user interaction data, that the user interaction causes a display conflict between the GUI of the remote device and a visual image displayed on the GUI of the remote device , the display conflict including an area of the GUI where the visual element is caused to appear being at least partially blocked by the visual image displayed on the GUI so that a user cannot see the visual element; and calculating coordinates for the visual element on the GUI and providing the calculated coordinates to the remote device to allow the remote device to remove a portion of the visual image displayed on the GUI corresponding to the calculated coordinates so that the user can see the visual element. <EOS>