Renato Seabra, 20, told investigators he attacked Portuguese fashion columnist Carlos Castro, 65, at the InterContinental Hotel on Friday, allegedly torturing the older man for more than an hour before castrating him with a corkscrew, the New York Post reported Monday.
Seabra and Castro came to New York from their native Portugal and by all accounts were a couple, but Seabra appeared unwilling to admit that, police sources told the New York Daily News.
Seabra allegedly admitted to police he told Castro, "I'm not gay anymore!" before attacking the older man.
"He said he did it to get rid of [Castro's] homosexual demons," one of the police sources said of Seabra.
Detectives briefly questioned Seabra on Sunday at the Bellevue Hospital psychiatric ward where he is in police custody.
Seabra was charged with second-degree murder, police said Monday.
Interpol investigating stolen passports on missing flight
Scarlett Johansson steps out with fiance after pregnancy reveal