Qual é a sintaxe correta para remove_index em uma migração do Rails 3.1.

Estou no processo de adicionar o Devise a um aplicativo Rails existente, com uma tabela Usuários já definida. O gerador de dispositivos executou a seguinte migração:

class AddDeviseToUsers < ActiveRecord::Migration
  def self.up
    change_table(:users) do |t|

     ## Database authenticatable
     t.string :email,              :null => false, :default => ""
     t.string :encrypted_password, :null => false, :default => ""

     ## Recoverable
     t.string   :reset_password_token
     t.datetime :reset_password_sent_at

     ## Rememberable
     t.datetime :remember_created_at

     ## Trackable
     t.integer  :sign_in_count, :default => 0

     blah blah blah....

   end

   add_index :users, :email,                :unique => true
   add_index :users, :reset_password_token, :unique => true
 end

A migração descendente não é gerada e estou tendo um tempo considerável para remover esses índices. Estou vendo notações sugeridas diferentes na documentação e sugestões online diferentes, mas nenhuma delas parece estar funcionando para mim. Por exemplo..

def self.down
  change_table(:users) do |t|
    t.remove  :email
    t.remove  :encrypted_password

    t.remove  :reset_password_token

    blah blah blah...
  end

  remove_index :users, :email
  remove_index :users, :reset_password_token
end

resulta em..

An error has occurred, this and all later migrations canceled:

Index name 'index_users_on_email' on table 'users' does not exist

o que é estranho, porque se eu verificar o banco de dados, com certeza, 'index_users_on_email' está ali ...

Tentei outras variações, incluindo

remove_index :users, :column => :email

remove_index :users, 'email'

ou

change_table(:users) do |t|
  t.remove_index :email
end

... mas não há dados. Estou executando o Rails 3.1.0, Ruby 1.9.2, rake 0.9.2.2, com Postgres.

O comando que está me decepcionando é:

bundle exec rake db:rollback STEP=1

after aplique com êxito a migração. Algum conselho?