diff --git a/app/controllers/admin/semester.php b/app/controllers/admin/semester.php
index 2130390a132c8d0985d81d6d4ce7bec501c197e0..0dc8a5da502320cc59108510882bec1ab3effb0f 100644
--- a/app/controllers/admin/semester.php
+++ b/app/controllers/admin/semester.php
@@ -75,7 +75,6 @@ class Admin_SemesterController extends AuthenticatedController
 
             // Extract values
             $this->semester->name           = Request::i18n('name');
-            $this->semester->description    = Request::i18n('description');
             $this->semester->semester_token = Request::i18n('token');
             $this->semester->beginn         = $this->getTimeStamp('beginn');
             $this->semester->ende           = $this->getTimeStamp('ende', '23:59:59');
diff --git a/app/routes/Semester.php b/app/routes/Semester.php
index 809228266537b2b51b485167913838f307e0e9a9..bdb1ee7cb149ff8b74cf95e4749fe251293e2d4c 100644
--- a/app/routes/Semester.php
+++ b/app/routes/Semester.php
@@ -105,7 +105,6 @@ class Semester extends \RESTAPI\RouteMap
             'id'             => $semester['semester_id'],
             'title'          => (string) $semester['name'],
             'token'          => (string) $semester['semester_token'],
-            'description'    => (string) $semester['description'],
             'begin'          => (int) $semester['beginn'],
             'end'            => (int) $semester['ende'],
             'seminars_begin' => (int) $semester['vorles_beginn'],
diff --git a/app/views/admin/semester/edit.php b/app/views/admin/semester/edit.php
index 1a40d23c17d1b18275663d9eb383f8ad5f22ff87..9ef8b6fa7b1a061a30d07f3c8813a21be86bb3df 100644
--- a/app/views/admin/semester/edit.php
+++ b/app/views/admin/semester/edit.php
@@ -29,14 +29,6 @@
             ]) ?>
         </label>
 
-        <label>
-            <?= _('Beschreibung') ?>
-
-            <?= I18N::textarea('description', $semester->description, [
-                'id' => 'description',
-            ]) ?>
-        </label>
-
         <label>
             <?= _('Externe ID') ?>
 
diff --git a/app/views/admin/semester/index.php b/app/views/admin/semester/index.php
index 1fc87a749e1e1cf6d14cfd0c8f62bd38cc182f0f..511dbfb89f040c27ad63870afe6c11263e763b94 100644
--- a/app/views/admin/semester/index.php
+++ b/app/views/admin/semester/index.php
@@ -60,7 +60,7 @@
                     <? endif; ?>
                 >
             </td>
-            <td title="<?= htmlReady($semester->description) ?>">
+            <td>
                 <?= htmlReady($semester->name) ?>
                 <? if (!$semester->visible): ?>
                 <?= '(' . _('gesperrt') . ')'; ?>
diff --git a/db/migrations/5.4.2_remove_description_fields.php b/db/migrations/5.4.2_remove_description_fields.php
new file mode 100644
index 0000000000000000000000000000000000000000..1723778387ce9d95d56004a61aec067d30ed18d6
--- /dev/null
+++ b/db/migrations/5.4.2_remove_description_fields.php
@@ -0,0 +1,34 @@
+<?php
+final class RemoveDescriptionFields extends Migration
+{
+    public function description()
+    {
+        return 'Removes the unused database columns `termine`.`description`, `ex_termine`.`description` and `semester_data`.`description`';
+    }
+
+    protected function up()
+    {
+        $query = "ALTER TABLE `termine`
+                  DROP COLUMN `description`";
+        DBManager::get()->exec($query);
+        $query = "ALTER TABLE `ex_termine`
+                  DROP COLUMN `description`";
+        DBManager::get()->exec($query);
+        $query = "ALTER TABLE `semester_data`
+                  DROP COLUMN `description`";
+        DBManager::get()->exec($query);
+    }
+
+    protected function down()
+    {
+        $query = "ALTER TABLE `termine`
+                  ADD COLUMN `description` TEXT AFTER `content`";
+        DBManager::get()->exec($query);
+        $query = "ALTER TABLE `ex_termine`
+                  ADD COLUMN `description` TEXT AFTER `content`";
+        DBManager::get()->exec($query);
+        $query = "ALTER TABLE `semester_data`
+                  ADD COLUMN `description` TEXT NOT NULL AFTER `name`";
+        DBManager::get()->exec($query);
+    }
+}
diff --git a/lib/classes/JsonApi/Schemas/Semester.php b/lib/classes/JsonApi/Schemas/Semester.php
index f1bca9cba992d4acd24c97755a7378cae9519099..75aef03c96bb3af028733dbcbbcb8d8e79d3a3eb 100644
--- a/lib/classes/JsonApi/Schemas/Semester.php
+++ b/lib/classes/JsonApi/Schemas/Semester.php
@@ -17,7 +17,6 @@ class Semester extends SchemaProvider
     {
         return [
             'title' => (string) $semester->name,
-            'description' => (string) $semester->description,
             'token' => (string) $semester->token,
             'start' => date('c', $semester->beginn),
             'end' => date('c', $semester->ende),
diff --git a/lib/models/CourseDate.class.php b/lib/models/CourseDate.class.php
index 1465fa1d0cdf6d3eb3be9cf0e30a8e28d1f2cf8d..9ae0268e49083319b3f53e8873299fd1587adfb5 100644
--- a/lib/models/CourseDate.class.php
+++ b/lib/models/CourseDate.class.php
@@ -15,7 +15,6 @@
  * @property string range_id database column
  * @property string autor_id database column
  * @property string content database column
- * @property string description database column
  * @property string date database column
  * @property string end_time database column
  * @property string mkdate database column
diff --git a/lib/models/CourseExDate.class.php b/lib/models/CourseExDate.class.php
index 625653e41391ce758fd8b67fe9d44409205fd7b2..f2c75b516108473b51abd99c284703191d63a706 100644
--- a/lib/models/CourseExDate.class.php
+++ b/lib/models/CourseExDate.class.php
@@ -15,7 +15,6 @@
  * @property string range_id database column
  * @property string autor_id database column
  * @property string content database column
- * @property string description database column
  * @property string date database column
  * @property string end_time database column
  * @property string mkdate database column
diff --git a/lib/models/Semester.class.php b/lib/models/Semester.class.php
index 21481f2f394684e4cbaf93af1819858d67da26d0..1a490a60c788e88dcc71da9e9bd22c679328f5d9 100644
--- a/lib/models/Semester.class.php
+++ b/lib/models/Semester.class.php
@@ -16,7 +16,6 @@
  * @property string semester_id database column
  * @property string id alias column for semester_id
  * @property string name database column
- * @property string description database column
  * @property string semester_token database column
  * @property string beginn database column
  * @property string ende database column
@@ -64,7 +63,6 @@ class Semester extends SimpleORMap
         $config['registered_callbacks']['after_delete'][] = 'refreshCache';
 
         $config['i18n_fields']['name'] = true;
-        $config['i18n_fields']['description'] = true;
         $config['i18n_fields']['semester_token'] = true;
 
         parent::configure($config);