A system for maintaining a marine vessel in a body of water at a selected position and a selected orientation, the system comprising: a global positioning system, GPS, on the marine vessel that determines a global position and a heading of the marine vessel with respect to Earth's geographic coordinate system, a controller in signal communication with the GPS and operable in a station keeping mode, and a proximity sensor (34a-d) on the marine vessel that determines a relative position and a bearing of the marine vessel with respect to an object near the marine vessel, wherein the controller is also in signal communication with the proximity sensor (34a-d), wherein the controller is adapted to choose between using global position and heading data from the GPS and relative position and bearing data from the proximity sensor (34a-d) to determine if the marine vessel has moved from one or both of the selected position and the selected orientation, and wherein, in the station keeping mode, the controller thereafter is adapted to calculate thrust commands required to return the marine vessel to the selected position and the selected orientation and outputs the thrust commands to a marine propulsion system, which uses the thrust commands to reposition the marine vessel at the selected position and the selected orientation, characterized in that the controller is adapted to choose to use the relative position and bearing data from the proximity sensor (34a-d) if the proximity sensor (34a-d) senses the object within a given range upon initiation of the station keeping mode, and the controller is adapted to choose to use the global position and heading data from the GPS if the proximity sensor (34a-d) does not sense the object within the given range upon initiation of the station keeping mode. a global positioning system, GPS, on the marine vessel that determines a global position and a heading of the marine vessel with respect to Earth's geographic coordinate system, a controller in signal communication with the GPS and operable in a station keeping mode, and a proximity sensor (34a-d) on the marine vessel that determines a relative position and a bearing of the marine vessel with respect to an object near the marine vessel, wherein the controller is also in signal communication with the proximity sensor (34a-d), wherein the controller is adapted to choose between using global position and heading data from the GPS and relative position and bearing data from the proximity sensor (34a-d) to determine if the marine vessel has moved from one or both of the selected position and the selected orientation, and wherein, in the station keeping mode, the controller thereafter is adapted to calculate thrust commands required to return the marine vessel to the selected position and the selected orientation and outputs the thrust commands to a marine propulsion system, which uses the thrust commands to reposition the marine vessel at the selected position and the selected orientation, characterized in that the controller is adapted to choose to use the relative position and bearing data from the proximity sensor (34a-d) if the proximity sensor (34a-d) senses the object within a given range upon initiation of the station keeping mode, and the controller is adapted to choose to use the global position and heading data from the GPS if the proximity sensor (34a-d) does not sense the object within the given range upon initiation of the station keeping mode.