diff --git a/lib/timetable/lesson_chip.dart b/lib/timetable/lesson_chip.dart
index ed772ef5ab2f91d486e2ee5ff8c9590085f82c1c..ab0bb977c03c8ea9e8db88c5611ab1720de5a073 100644
--- a/lib/timetable/lesson_chip.dart
+++ b/lib/timetable/lesson_chip.dart
@@ -4,14 +4,29 @@ import '../untis/element.dart';
 
 class LessonChip extends StatelessWidget {
   final UntisElement data;
-  final void Function() onPressed;
+  final void Function()? onPressed;
 
   const LessonChip(this.data, {super.key, required this.onPressed});
 
+  static Color getTextColorOfState(
+    BuildContext context, {
+    required bool pressable,
+  }) {
+    final theme = Theme.of(context);
+    return pressable ? theme.primaryColor : theme.iconTheme.color!;
+  }
+
+  static MaterialStateColor getTextColor(BuildContext context) =>
+      MaterialStateColor.resolveWith((states) => getTextColorOfState(
+            context,
+            pressable: !states.contains(MaterialState.disabled),
+          ));
+
   @override
   Widget build(BuildContext context) {
     return TextButton(
       onPressed: onPressed,
+      style: ButtonStyle(foregroundColor: getTextColor(context)),
       child: Text(data.name, overflow: TextOverflow.ellipsis),
     );
   }
diff --git a/lib/timetable/lesson_chip_collection.dart b/lib/timetable/lesson_chip_collection.dart
index 47aafb55d26b7c0007cb441cdf9088c233cfd897..ea55157560d976ebcca41860926219eea3ac43e4 100644
--- a/lib/timetable/lesson_chip_collection.dart
+++ b/lib/timetable/lesson_chip_collection.dart
@@ -6,20 +6,27 @@ import 'lesson_chip.dart';
 class LessonChipCollection extends StatelessWidget {
   final IconData icon;
   final Iterable<UntisElement> elements;
-  final void Function(UntisElement element) onChipTap;
+  final void Function(UntisElement element)? onChipTap;
 
-  const LessonChipCollection(this.icon, this.elements,
-      {super.key, required this.onChipTap});
+  const LessonChipCollection(
+    this.icon,
+    this.elements, {
+    super.key,
+    this.onChipTap,
+  });
 
   @override
   Widget build(BuildContext context) {
     return Row(
       children: [
-        Icon(icon, color: Theme.of(context).primaryColor),
+        Icon(icon,
+            color: LessonChip.getTextColorOfState(context,
+                pressable: onChipTap != null)),
         Expanded(
           child: Wrap(
             children: elements
-                .map((e) => LessonChip(e, onPressed: () => onChipTap(e)))
+                .map((e) => LessonChip(e,
+                    onPressed: onChipTap == null ? null : () => onChipTap!(e)))
                 .toList(),
           ),
         )
diff --git a/lib/timetable/lesson_dialog.dart b/lib/timetable/lesson_dialog.dart
index 203f58091bc9c4c747f29e6ddf1a00c2708e5e82..f29c5dcb57241867cc409cd0deabac201b4f7ad4 100644
--- a/lib/timetable/lesson_dialog.dart
+++ b/lib/timetable/lesson_dialog.dart
@@ -6,7 +6,6 @@ import '../untis/lesson.dart';
 import '../util/set_extension.dart';
 import '../views/lecture_view.dart';
 import '../views/room_view.dart';
-import '../views/teacher_view.dart';
 import '../views/view.dart';
 import 'lesson_chip_collection.dart';
 import 'weekday_header.dart';
@@ -102,7 +101,6 @@ class _LessonDialogState extends State<LessonDialog> {
         LessonChipCollection(
           BrandingIcons.teacher,
           lesson.teachers,
-          onChipTap: (e) => changeView(TeacherView(teacherId: e.id)),
         ),
       ],
     );
diff --git a/lib/views/teacher_view.dart b/lib/views/teacher_view.dart
index 0e75cf84c59ce20f6c6889548bf7b701314700bb..10cfaefe6d37d385c0d26a06516bd1bd2025330f 100644
--- a/lib/views/teacher_view.dart
+++ b/lib/views/teacher_view.dart
@@ -2,6 +2,7 @@ import '../untis/element_type.dart';
 
 import 'single_element_view.dart';
 
+@Deprecated('Only logged in users can see teacher timetables')
 class TeacherView extends SingleElementView {
   TeacherView({required int teacherId}) : super(elementId: teacherId);