diff --git a/lib/timetable/timetable.dart b/lib/timetable/timetable.dart
index 1e87eb9da7a1f11226a9e3242b5a438538370898..78f938aa1bc6a98e1f91eb52c98670b6dd7f7805 100644
--- a/lib/timetable/timetable.dart
+++ b/lib/timetable/timetable.dart
@@ -1,5 +1,6 @@
 import 'dart:async';
 
+import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
 
 import '../context.dart';
@@ -29,6 +30,10 @@ class Timetable extends StatefulWidget {
 }
 
 class _TimetableState extends State<Timetable> {
+  static const _mobilePlatforms = <TargetPlatform>{
+    TargetPlatform.android,
+    TargetPlatform.iOS,
+  };
   StreamSubscription? _subscription;
 
   @override
@@ -82,8 +87,10 @@ class _TimetableState extends State<Timetable> {
         Expanded(
           child: ListView(
             shrinkWrap: true,
-            physics: const BouncingScrollPhysics(
-              decelerationRate: ScrollDecelerationRate.fast,
+            physics: BouncingScrollPhysics(
+              decelerationRate: _mobilePlatforms.contains(defaultTargetPlatform)
+                  ? ScrollDecelerationRate.normal
+                  : ScrollDecelerationRate.fast,
             ),
             children: [
               Padding(