diff --git a/src/panels/Fahrplan/FahrplanPanel.tsx b/src/panels/Fahrplan/FahrplanPanel.tsx
index e687e8cd90722405aa1ffefae0da883d5b9f9e42..fff371529b13b0a377e99cac0f00614f4cdc64ed 100644
--- a/src/panels/Fahrplan/FahrplanPanel.tsx
+++ b/src/panels/Fahrplan/FahrplanPanel.tsx
@@ -5,7 +5,7 @@ import PanelTitle from "../../meta/PanelTitle";
 import PanelContent from "../../meta/PanelContent";
 import {StationResponse} from "./types/vrrfAPI";
 import {Warning} from "@phosphor-icons/react";
-import {AnimatePresence, motion} from 'framer-motion';
+import {motion} from 'framer-motion';
 
 export type FahrplanPanelDefinition = {
   stops: string[],
@@ -47,7 +47,7 @@ const FahrplanPanel = (props: {definition: FahrplanPanelDefinition}) => {
         }
 
         // Find existing route with same uid
-        const existing_ind = newRoutes.findIndex(r => r.uid === departure.key)
+        const existing_ind = newRoutes.findIndex(r => r.uid === departure.key + "-" + departure.lineref.identifier)
 
         // Pre-compute values that will be needed regardless
         const delay = stringToDelay(departure.delay);
@@ -61,8 +61,8 @@ const FahrplanPanel = (props: {definition: FahrplanPanelDefinition}) => {
         if(existing_ind === -1) {
           // If it does not exist, create a new route
           newRoutes.push({
-            uid: departure.key,
-            heading: departure.lineref.direction,
+            uid: departure.key + "-" + departure.lineref.identifier,
+            heading: departure.destination,
             identifier: departure.line,
             stops: [
               {