diff --git a/lib/weblib.php b/lib/weblib.php
index 313a5671892..e799099df57 100644
--- a/lib/weblib.php
+++ b/lib/weblib.php
@@ -2609,6 +2609,14 @@ function user_login_string($course=NULL, $user=NULL) {
if (isset($user->username) && $user->username == 'guest') {
$loggedinas = $realuserinfo.get_string('loggedinasguest').
" (framename}\" href=\"$wwwroot/login/index.php\">".get_string('login').')';
+ } else if (!empty($user->switchrole)) {
+ $rolename = '';
+ if ($role = get_record('role', 'id', $user->switchrole)) {
+ $rolename = ': '.format_string($role->name);
+ }
+ $loggedinas = get_string('loggedinas', 'moodle', $username).$rolename.
+ " (framename}\"
+ href=\"$CFG->wwwroot/course/view.php?id=$course->id&switchrole=0&sesskey=".sesskey()."\">".get_string('switchrolereturn').')';
} else {
$loggedinas = $realuserinfo.get_string('loggedinas', 'moodle', $username).' '.
" (framename}\" href=\"$CFG->wwwroot/login/logout.php\">".get_string('logout').')';