diff --git a/controllers/statistics.php b/controllers/statistics.php
index 24611eaf0cac44f543956705e5819dec6de9033b..45b497d102e81a73fc7a5bc4ae50f362da117d86 100644
--- a/controllers/statistics.php
+++ b/controllers/statistics.php
@@ -28,19 +28,36 @@ class StatisticsController extends PluginController
         );
 
         $this->getCached($this->semester->id, function () {
-            $query = "SELECT plugins.pluginid AS id,
-                             pluginname AS name,
-                             COUNT(poiid) AS quantity
-                      FROM plugins
-                      LEFT JOIN plugins_activated USING (pluginid)
-                      LEFT JOIN seminare
-                        ON SUBSTR(plugins_activated.poiid, 4) = seminare.Seminar_id
-                      WHERE start_time BETWEEN ? AND ?
-                        AND plugins_activated.state = 'on'
-                        AND FIND_IN_SET('StandardPlugin', plugintype)
-                        AND plugins.enabled = 'yes'
-                      GROUP BY plugins.pluginid
-                      ORDER BY quantity DESC";
+            if (StudipVersion::olderThan('4.2')) {
+                $query = "SELECT `plugins`.`pluginid` AS id,
+                                 `plugins`.`pluginname` AS name,
+                                 COUNT(`seminare`.`Seminar_id`) AS quantity
+                          FROM `plugins`
+                          LEFT JOIN `plugins_activated` USING (`pluginid`)
+                          LEFT JOIN `seminare`
+                            ON SUBSTR(`plugins_activated`.`poiid`, 4) = `seminare`.`Seminar_id`
+                          WHERE `seminare`.`start_time` BETWEEN ? AND ?
+                            AND `plugins_activated`.`state` = 'on'
+                            AND FIND_IN_SET('StandardPlugin', `plugintype`)
+                            AND `plugins`.`enabled` = 'yes'
+                          GROUP BY `plugins`.`pluginid`
+                          ORDER BY quantity DESC";
+            } else {
+                $query = "SELECT `plugins`.`pluginid` AS id,
+                                 `plugins`.`pluginname` AS name,
+                                 COUNT(`seminare`.`Seminar_id`) AS quantity
+                          FROM `plugins`
+                          LEFT JOIN `plugins_activated` USING (`pluginid`)
+                          LEFT JOIN `seminare`
+                            ON `plugins_activated`.`range_type` = 'sem'
+                                AND `plugins_activated`.`range_id` = `seminare`.`Seminar_id`
+                          WHERE `seminare`.`start_time` BETWEEN ? AND ?
+                            AND `plugins_activated`.`state` = 1
+                            AND FIND_IN_SET('StandardPlugin', `plugins`.`plugintype`)
+                            AND `plugins`.`enabled` = 'yes'
+                          GROUP BY `plugins`.`pluginid`
+                          ORDER BY quantity DESC";
+            }
             $plugins = DBManager::get()->fetchAll($query, [
                 $this->semester->beginn,
                 $this->semester->ende
@@ -467,6 +484,10 @@ class StatisticsController extends PluginController
 
     private function getCached($index, Closure $generator)
     {
+        if (!$GLOBALS['CACHING_ENABLE']) {
+            return $generator();
+        }
+
         $this->createSidebarCachePruner($index);
 
         $cache = StudipCacheFactory::getCache();
diff --git a/views/statistics/index.php b/views/statistics/index.php
index cb57205509f654397baca98bb778d1b04e99eba2..5b9ed51203b0afcdbf6bfac7decb91c013bfc81a 100644
--- a/views/statistics/index.php
+++ b/views/statistics/index.php
@@ -13,6 +13,13 @@
         </tr>
     </thead>
     <tbody>
+    <? if (count($plugins) === 0): ?>
+        <tr>
+            <td colspan="2">
+                <?= _('In diesem Semester wurden noch keine Standardplugins aktiviert') ?>
+            </td>
+        </tr>
+    <? endif; ?>
     <? foreach ($plugins as $plugin): ?>
         <tr>
             <td>