Nearly 300 United Airlines passengers were forced to sleep on the floor at Belfast International Airport after their flight was diverted because of an unruly passenger.

United Flight 971 departed Rome on Saturday evening but the 10-hour flight to Chicago was interrupted after  the captain made an emergency landing in Belfast because a passenger—who ABC News identified as a 42-year-old American and Italian dual citizen—started acting strange.

"While he was on the flight he had constantly gone to the bathroom to change his shirt four or five times and was staring at people in a creepy way. My understanding is that an air marshal notified the flight attendants who spoke with the captain who chose to land," passenger Rick Sliter told NBC News. 

Other passengers noted that before the flight the man had been swearing in the boarding area and a United gate agent had warned him that he would not be allowed to board if he continued.

After dropping the passenger off in Belfast, the plane was refueled but, after several delays, the flight was eventually cancelled because, according to FAA regulations, flying would have eaten into the crew's designated rest period.

“We were taxiing out to leave, refueled, we were on the main runway — then the captain announced it was two minutes over the time they could do time in cockpit due to federal work regulations," Sliter said. "People thought he was joking."

United Airlines spokeswoman Karen May told ABC that the airline made attempts to secure hotel accommodations but that were no “available hotel rooms nearby” for the 269 passengers. 

Guests shared pictures of their Belfast airport sleepover through social media, some employing the hashtag #ShameOnUnited. Passengers were provided blankets and bottles of water, while an airport café stayed open until 1.a.m to accommodate the unwilling airport guests.

After 21-hours in Belfast, the passengers were eventually rerouted to a different flight and landed at O’Hare late Sunday evening. 

May said that United Airlines would be refunding the cost of the ticket to passengers via a travel certificate or MileagePlus miles.