diff --git a/classes/output/core_renderer.php b/classes/output/core_renderer.php
index 6596d8692b9567f449fb159c81261dd3a6e6e9ec..347da7cc1637c00b0ef55350438982a285bb50ce 100644
--- a/classes/output/core_renderer.php
+++ b/classes/output/core_renderer.php
@@ -168,7 +168,7 @@ class core_renderer extends \core_renderer {
             $userid = optional_param('id', $USER->id, PARAM_INT);
             // Check if the shown and the operating user are identical.
             $currentuser = $USER->id == $userid;
-            if (($currentuser || is_siteadmin($USER)) &&
+            if (($currentuser || is_siteadmin($USER) || !is_siteadmin($userid)) &&
                 has_capability('moodle/user:update', \context_system::instance())) {
                 $url = new moodle_url('/user/editadvanced.php', array('id'       => $userid, 'course' => $COURSE->id,
                                                                       'returnto' => 'profile'));