diff --git a/login/index.php b/login/index.php
index 2584b68f909..91150dd08f1 100644
--- a/login/index.php
+++ b/login/index.php
@@ -65,19 +65,20 @@
 
             set_moodle_cookie($USER->username);
 
+            $wantsurl = $SESSION->wantsurl;
+
+            unset($SESSION->wantsurl);
             unset($SESSION->lang);
 
             if (user_not_fully_set_up($USER)) {
                 $site = get_site();
                 redirect("$CFG->wwwroot/user/edit.php?id=$USER->id&course=$site->id");
 
-            } else if (empty($SESSION->wantsurl)) {
-                redirect("$CFG->wwwroot/");
+            } else if (strpos($wantsurl, $CFG->wwwroot) === 0) {   /// Matches site address
+                redirect($wantsurl);
 
             } else {
-                $wantsurl = $SESSION->wantsurl;
-                unset($SESSION->wantsurl);
-                redirect($wantsurl);
+                redirect("$CFG->wwwroot/");      /// Go to the standard home page
             }
     
             reset_login_count();