Grands prix in France and Germany will return to the Formula One schedule in 2018, while races in Bahrain and China will shift dates.
Formula One races in Bahrain and China will swap places early in the season following the final approval of the 2018 F1 calendar on Wednesday.
Motor sport's governing body FIA confirmed the proposed switch, with Bahrain taking place at the Sakhir circuit on April 8 and the Chinese GP in Shanghai a week later.
As usual, the F1 season begins with the Australian GP in Melbourne on March 25.
All the other races in the 21-race calendar were confirmed from the original plan set out in June, with the exception of the United States GP in Austin on Oct. 21 being subject to confirmation.
Questions were raised about the Brazilian GP being held next year in Sao Paulo after serious security scares last month.
Members of Lewis Hamilton's Mercedes team were robbed at gun point in their minivan while leaving the track.
FIA spokesman Matteo Bonciani also said the car in which he was leaving the track was assaulted by gun-wielding assailants who attempted to smash in the bullet-proof windows with the vehicle stuck in traffic.
In response to these latest incidents, new security measures were proposed on Wednesday.
The FIA directly urged that the race promoter uses an "independent security expert to evaluate and advise on security plans", and increases the police presence around the track.
The French GP, meanwhile, returns after a 10-year absence and will be hosted at the iconic Paul Ricard circuit on June 24.
The race was dropped from the calendar in 2008 because of financial issues.
The German GP was scrapped this year but will return at Hockenheim on July 22.
The Azerbaijan GP has been moved forward to April 29, making it the fourth race of the season. The Russian GP in Sochi, held this year at the end of April, shifts to Sept. 30. That late September slot was normally reserved for the Malaysian GP, which has been dropped.
2018 FORMULA ONE SCHEDULE:
March 25: Melbourne, Australia
April 8: Sakhir, Bahrain
April 15: Shanghai, China
April 29: Baku, Azerbaijan
May 13: Barcelona, Spain
May 27: Monaco
June 10: Montreal, Canada
June 24: Le Castellet, France
July 1: Spielberg, Austria
July 8: Silverstone, England
July 22: Hockenheim, Germany
July 29: Budapest, Hungary
Aug. 26: Spa-Francorchamps, Belgium
September 2: Monza, Italy
September 16: Singapore
September 30: Sochi, Russia
October 7: Suzuka, Japan
October 21: Austin, United States (subject to confirmation)
October 28: Mexico City, Mexico
November 11: Sao Paulo, Brazil
November 25: Abu Dhabi, United Arab Emirates