diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb
index 47ac32530d484201910bc957deff9416050f5263..32a864238fc8f6c3969e9356054ac071f8e6a43d 100644
--- a/app/controllers/sessions_controller.rb
+++ b/app/controllers/sessions_controller.rb
@@ -5,6 +5,17 @@
 class SessionsController < Devise::SessionsController
 
   after_filter :enqueue_update, :only => :create
+
+  def create
+    resource = warden.authenticate!(:scope => resource_name, :recall => "#{controller_path}#new")
+    set_flash_message(:notice, :signed_in) if is_navigational_format?
+    sign_in(resource_name, resource)
+    redirect_loc = redirect_location(resource_name, resource)
+    respond_with resource, :location => redirect_loc do |format|
+      format.mobile { redirect_to root_path }
+    end
+  end
+
   protected
   def enqueue_update
     if current_user
@@ -13,5 +24,4 @@ class SessionsController < Devise::SessionsController
       }
     end
   end
-
 end
diff --git a/spec/controllers/sessions_controller_spec.rb b/spec/controllers/sessions_controller_spec.rb
index 2b84674822e643f035c185e6b95335e17caa11ac..e46ac0457551608c9985cddfa85b0e00d6f311d9 100644
--- a/spec/controllers/sessions_controller_spec.rb
+++ b/spec/controllers/sessions_controller_spec.rb
@@ -17,17 +17,28 @@ describe SessionsController do
 
   before do
     @request.env["devise.mapping"] = Devise.mappings[:user]
-    @user   = alice
+    @user = alice
     @user.password = "evankorth"
     @user.password_confirmation = "evankorth"
-    @service = Services::Facebook.new(:access_token => "yeah")
-    @user.services << @service
     @user.save
   end
 
   describe "#create" do
+    it "redirects to / for a normal user" do
+      post :create, {"user" => {"remember_me" => "0", "username" => @user.username, "password" => "evankorth"}}
+      response.should redirect_to root_path
+    end
+    it "redirects to / for a mobile user" do
+      @request.env['HTTP_USER_AGENT'] = 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8B117 Safari/6531.22.7'
+      post :create, {"user" => {"remember_me" => "0", "username" => @user.username, "password" => "evankorth"}}
+      response.should redirect_to root_path
+    end
     it 'queues up an update job' do
-      Resque.should_receive(:enqueue).with(Job::UpdateServiceUsers, @service.id)
+      service = Services::Facebook.new(:access_token => "yeah")
+      @user.services << service
+      @user.save
+      
+      Resque.should_receive(:enqueue).with(Job::UpdateServiceUsers, service.id)
       post :create, {"user"=>{"remember_me"=>"0", "username"=> @user.username,
                                "password"=>"evankorth"}}
     end