Italy on Wednesday gave permission to a Spanish humanitarian organization to dock and disembark migrants in Sicily after three days of arguments with Malta over who should take in the rescued men.
The dispute underscores Italy's continued isolation within the European Union in dealing with the flow of 600,000 migrants from North Africa - mostly Libya - since 2014.
With elections looming next year, Italy's center-left government is seeking more help from EU partners, including the tiny island state of Malta, which has largely left to Italy the job of coordinating sea rescues.
"This administrative dispute sheds a light on the ongoing problem of the EU, where there is a generalized refusal to deal with immigration," Riccardo Gatti, a director Proactiva Open Arms, told Reuters.
Proactiva's Golfo Azzurro vessel rescued three Libyan men on Sunday from a small boat in waters within Malta's rescue zone, Gatti said.
But Maltese officials told the Golfo Azzurro, which had been on its way to Malta for a crew change when it carried out the rescue, to go to the Italian island of Lampedusa, where Italian authorities refused it access.
The Golfo Azzurro then stayed in international waters off Sicily until Wednesday, when it had a mechanical problem and Italy's coastguard gave the ship permission to enter the port of Pozzallo.
"Maltese authorities, after the rescue, told the (Golfo Azzurro) to go to Lampedusa, a decision taken without the necessary approval of Italian maritime authorities," Italy's coastguard said in a statement. "Upon hearing about the Maltese initiative, (Italy's coastguard) communicated that Lampedusa could not be used."
The three Libyans disembarked in Pozzallo. The men told the Golfo Azzurro crew they were persecuted and feared for their lives in Libya, Gatti said, and all planned on asking for asylum.