diff --git a/lib/classes/SemClass.class.php b/lib/classes/SemClass.class.php
index 862747f06964f2bbab49704d5d4db47c1cec5810..83b1fcbbbbd6a84fbf8c2a92ebd7c750b1fe7a2d 100644
--- a/lib/classes/SemClass.class.php
+++ b/lib/classes/SemClass.class.php
@@ -305,8 +305,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'];
     }
 
     /**
@@ -316,9 +316,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']);
     }
 
     /**