Am 25. Juni 2011 gaben ihn die Sabres gemeinsam mit Paul Byron im Austausch für Robyn Regehr, Aleš Kotalík und einem Zweitrunden-Wahlrecht im NHL Entry Draft 2012 an die Calgary Flames ab. Nach drei Jahren in Calgary wechselte Butler im Juli 2014 zu den St. Louis Blues und unterschrieb dort einen Einjahresvertrag. Dieser wurde zweimal verlängert, wobei der Verteidiger hauptsächlich in der AHL zum Einsatz kam, bei den Chicago Wolves sowie bei den San Antonio Rampage. Nach der Saison 2018/19 beendete er schließlich seine aktive Karriere, in der er insgesamt 414 NHL-Spiele absolviert und dabei 87 Scorerpunkte verzeichnet hatte.