diff --git a/lflex_celcat_survival/cmd/fetch_celcat.py b/lflex_celcat_survival/cmd/fetch_celcat.py
index 49898ef42501488f3eb489f6d2932862f3ca4007..ea3f8dc4b71e1100262a14cb5615d871ad0e3036 100755
--- a/lflex_celcat_survival/cmd/fetch_celcat.py
+++ b/lflex_celcat_survival/cmd/fetch_celcat.py
@@ -9,7 +9,8 @@ import lflex_celcat_survival as lcs
 @click.option('--csv-raw', default=None, help='If set, raw (unfiltered) events are written as CSV to this file.')
 @click.option('--csv', default=None, help='If set, filteret events are written as CSV to this file.')
 @click.option('--ics', default=None, help='If set, filtered events are written as ICS to this file.')
-def main(course_request_file, json, csv_raw, csv, ics):
+@click.option('--csv-no-description', is_flag=True, default=False, help='If set, CSV outputs will not contain the description column.')
+def main(course_request_file, json, csv_raw, csv, ics, csv_no_description):
     logging.basicConfig(level=logging.INFO)
 
     req = lcs.course_request.CourseRequest(course_request_file)
@@ -24,16 +25,20 @@ def main(course_request_file, json, csv_raw, csv, ics):
     if all(o is None for o in [csv_raw, csv, ics]):
         return
 
+    csv_columns_to_drop = []
+    if csv_no_description:
+        csv_columns_to_drop = ['description']
+
     celcat_events = lcs.events.CelcatEvents(celcat_raw_response)
     if csv_raw is not None:
-        celcat_events.df.to_csv(csv_raw, index=False)
+        celcat_events.df.drop(columns=csv_columns_to_drop).to_csv(csv_raw, index=False)
     if all(o is None for o in [csv, ics]):
         return
 
     filtered_celcat_events = lcs.events.FilteredCelcatEvents(req, celcat_events)
     filtered_celcat_events.check_expected_nb_timeslots()
     if csv is not None:
-        filtered_celcat_events.df.to_csv(csv, index=False)
+        filtered_celcat_events.df.drop(columns=csv_columns_to_drop).to_csv(csv, index=False)
     if all(o is None for o in [ics]):
         return