diff --git a/course/format/classes/output/local/content/cm/cmicon.php b/course/format/classes/output/local/content/cm/cmicon.php
index a9a86eb2062..f9363040ddc 100644
--- a/course/format/classes/output/local/content/cm/cmicon.php
+++ b/course/format/classes/output/local/content/cm/cmicon.php
@@ -79,6 +79,7 @@ class cmicon implements named_templatable, renderable {
$iconurl = $mod->get_icon_url();
$iconclass = $iconurl->get_param('filtericon') ? '' : 'nofilter';
$data = [
+ 'uservisible' => $mod->uservisible,
'url' => $mod->url,
'icon' => $iconurl,
'iconclass' => $iconclass,
diff --git a/course/format/templates/local/content/cm/cmicon.mustache b/course/format/templates/local/content/cm/cmicon.mustache
index 324b81ac879..4a77d7a84a3 100644
--- a/course/format/templates/local/content/cm/cmicon.mustache
+++ b/course/format/templates/local/content/cm/cmicon.mustache
@@ -21,6 +21,7 @@
Example context (json):
{
+ "uservisible": true,
"url": "#",
"icon": "../../../pix/help.svg",
"iconclass": "",
@@ -30,10 +31,17 @@
}
}}
{{#url}}
-
-
-
+ {{#uservisible}}
+
+
+
+ {{/uservisible}}
+ {{^uservisible}}
+