diff --git a/bakery.module b/bakery.module
index 91786a5..31d0469 100644
--- a/bakery.module
+++ b/bakery.module
@@ -844,6 +844,11 @@ function bakery_login() {
  * Custom return for errors during slave login process.
  */
 function bakery_login_return() {
+    // Redirect straight away if there is already a logged in user.
+  if (user_is_logged_in()) {
+    drupal_goto();
+  }
+
   $cookie = bakery_taste_oatmeal_cookie();
   if ($cookie) {
     // Make sure we always have a default query key.
