diff --git a/blocks/online_users/block_online_users.php b/blocks/online_users/block_online_users.php
index 622f96b..d0d7683 100644
--- a/blocks/online_users/block_online_users.php
+++ b/blocks/online_users/block_online_users.php
@@ -54,7 +54,11 @@ class block_online_users extends block_base {
 
         $userfields = user_picture::fields('u', array('username'));
 
-        if ($this->page->course->id == SITEID or $this->page->context->contextlevel < CONTEXT_COURSE) {  // Site-level
+        $sitelevel = ($this->page->course->id == SITEID);
+        $sitelevel = $sitelevel || ($this->page->context->contextlevel < CONTEXT_COURSE);
+        $sitelevel = $sitelevel || (get_parent_contextid($this->page->context, MUST_EXIST) == SITEID);
+
+        if ($sitelevel) {  // Site-level
             $sql = "SELECT $userfields, MAX(u.lastaccess) AS lastaccess
                       FROM {user} u $groupmembers
                      WHERE u.lastaccess > $timefrom
