Opprinnelig skulle Roger Waters selv synge sangen, men han hadde noen små problemer med stemmebåndet sitt etter innspillingen av «Shine On You Crazy Diamond», og David Gilmour ville ikke synge den. Roy Harper holdt på med innspillingen av sitt album i studio 2 i Abbey Road Studio på samme tid som Pink Floyd skulle spille inn sangen i studio 3. Gilmour gikk til Harper og spurte om han ville gjøre et forsøk på en sang de trengte vokal på, noe Harper takket ja til. Waters angret senere på at han ikke sang låten selv. Dermed ble «Have a Cigar» en av kun to Pink Floyd-sanger med hovedvokal av en person utenfor bandet. Den andre sangen er «The Great Gig in the Sky» med Clare Torry.