diff --git a/bbbmon/bbbmon.py b/bbbmon/bbbmon.py
index 544d3d862a43242dbcbd85a3220e18400f649a7d..6b4c394d48cc156c55681f7f712b377c6d2f761b 100755
--- a/bbbmon/bbbmon.py
+++ b/bbbmon/bbbmon.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 # -*- coding: utf-8 -*-
-import os
+import os, sys
 import time
 import json
 import click
@@ -101,11 +101,14 @@ def meetings(ctx, userconfig, watch, short, compact, n, all_, twolines, leaderbo
     config.filter_endpoints(endpoint)
     if watch is not None:
         while watch is not None:
-            if twolines:
-                meetings_twolines(config, watch, fancy, sum_)
-            else:
-                list_meetings(config, leaderboards, n, participants, presenter, presenter_id, meetings, watch, fancy, compact, sum_)
-            time.sleep(watch)
+            try:
+                if twolines:
+                    meetings_twolines(config, watch, fancy, sum_)
+                else:
+                    list_meetings(config, leaderboards, n, participants, presenter, presenter_id, meetings, watch, fancy, compact, sum_)
+                time.sleep(watch)
+            except KeyboardInterrupt:
+                sys.exit()
     else:
         if twolines:
             meetings_twolines(config, watch, fancy, sum_)
@@ -165,8 +168,11 @@ def json(ctx, userconfig, watch, endpoint, compact):
         exit()
     if watch is not None:
         while watch is not None:
-            print(format_json(config, watch, compact))
-            time.sleep(watch)
+            try:
+                print(format_json(config, watch, compact))
+                time.sleep(watch)
+            except KeyboardInterrupt:
+                sys.exit()
     else:
         print(format_json(config, watch, compact))