diff --git a/js/reiseauskunft.js b/js/reiseauskunft.js
index b58c796..cbe0109 100644
--- a/js/reiseauskunft.js
+++ b/js/reiseauskunft.js
@@ -6,7 +6,23 @@ function getMediaURL(path) {
   path = "media/" + path;
   return chrome.runtime.getURL(path) || browser.runtime.getURL(path);
 }
+/**
+  * Return train name in format "PRODUCT TRAIN_NUMER"
+  * i.e. "ICE 112", "RE 12734"
+  * Sometimes train name is in format "PRODUCT LINE_NUMER (TRAIN_NUMER)"
+  * i.e. "STB 12 (62371)"
+  * this will be cleaned up
+  */
+function bahnParseTrainName(dirty_train_name) {
+  var name_list = dirty_train_name.split(" ");
 
+  // Train name in format "STB 12 (23561)"
+  if(name_list.length == 3 && name_list[2].charAt(0) == '(' && name_list[2].charAt(name_list[2].length-1) == ')') {
+    return name_list[0] + " " + name_list[2].substring(1, name_list[2].length-1);
+  }
+
+  return dirty_train_name;
+}
 
 var observer = new MutationObserver((mutations, observer) => {
     mutations.forEach((mutation) => {
@@ -16,7 +32,7 @@ var observer = new MutationObserver((mutations, observer) => {
           var timetable = target.querySelector("td div.detailContainer table.result tbody");
           var products = timetable.querySelectorAll("tr.first td.products");
           products.forEach((product) => {
-            var train_name = product.querySelector("span a").innerText;
+            var train_name = bahnParseTrainName(product.querySelector("span a").innerText);
             product.innerHTML = product.innerHTML + ' <a href="https://marudor.de/details/' + train_name + '" target="_blank"><img src="' + getMediaURL("marudor.svg") + '" style="height: 2em; vertical-align:middle;"></a>';
           });
           var stations = timetable.querySelectorAll("tr td.station");