President Donald Trump has signed a new executive order placing a 90-day ban on people from six mainly Muslim nations.
The directive, which includes a 120-day ban on all refugees, takes effect on 16 March to limit travel disruption.
The previous order, which was blocked by a federal court, sparked confusion at airports and mass protests.
Citizens of Iran, Libya, Syria, Somalia, Sudan and Yemen, the other six countries on the original list, will once more be subject to a 90-day travel ban.
Iraq was taken off the banned list in the original order - which was issued on 27 January - because its government has boosted visa screening and data sharing, White House officials said.
The new order says refugees already approved by the State Department can enter the US; it limits the number allowed in to 50,000 for the year.
The directive also lifts an indefinite ban on all Syrian refugees.
Green Card holders (legal permanent residents of the US) from the named countries will not be affected by the new order.
The new order also does not give priority to religious minorities, unlike the previous directive.
Critics of the Trump administration had argued that was an unlawful policy showing preference to Christian refugees.