diff --git a/lib/classes/SemClass.class.php b/lib/classes/SemClass.class.php
index cfd7bc03a740f8b6ec8aef6e67bfa64033c95409..0fee25341cf32798f25222a656da03265553206f 100644
--- a/lib/classes/SemClass.class.php
+++ b/lib/classes/SemClass.class.php
@@ -293,8 +293,8 @@ class SemClass implements ArrayAccess
      */
     public function isModuleActivated($modulename)
     {
-        return empty($this->data['modules'][$modulename])
-            ||  $this->data['modules'][$modulename]['activated'];
+        return isset($this->data['modules'][$modulename])
+            && $this->data['modules'][$modulename]['activated'];
     }
 
     /**
@@ -304,9 +304,10 @@ class SemClass implements ArrayAccess
      */
     public function isModuleAllowed($modulename)
     {
-        return empty($this->data['modules'][$modulename])
+        return !$this->isModuleForbidden($modulename)
+            && (empty($this->data['modules'][$modulename])
             || !$this->data['modules'][$modulename]['sticky']
-            ||  $this->data['modules'][$modulename]['activated'];
+            || $this->data['modules'][$modulename]['activated']);
     }
 
     /**