In 306, Antigonus attempted to invade Egypt, but storms prevented Demetrius's fleet from supplying him, and he was forced to return home. With Cassander and Ptolemy both weakened, and Seleucus still occupied by attempting to assert his control over the East, Antigonus and Demetrius now turned their attention to Rhodes, which was besieged by Demetrius's forces in 305 BC. The island was reinforced by troops from Ptolemy, Lysimachus, and Cassander. Ultimately, the Rhodians reached a compromise with Demetrius – they would support Antigonus and Demetrius against all enemies, save their ally Ptolemy. Ptolemy took the title of Soter ("Savior") for his role in preventing the fall of Rhodes, but the victory was ultimately Demetrius's, as it left him with a free hand to attack Cassander in Greece. Demetrius thus returned to Greece and set about liberating the cities of Greece, expelling Cassander's garrisons, and the pro-Antipatrid oligarchies. This occupied much of Demetrius's efforts in 303 and 302 BC.