diff --git a/sams_classes/sams_app.py b/sams_classes/sams_app.py
index 71cbed54f17feae42b77457407f584d99c3deda2..f9ec0c09cf918f3a8831cb8517961c43c42543cc 100644
--- a/sams_classes/sams_app.py
+++ b/sams_classes/sams_app.py
@@ -95,7 +95,9 @@ class SAMSApp:
     for element in menuPattern:
       entry = {
         'url': self._generate_url(
-          urlPart = element['url'], urlPrefix = urlPrefix),
+          urlPart = element['url'], urlPrefix = urlPrefix,
+          external = element.get('external', False)
+        ),
         'name': self.lang(langCode)[element['name_string']]}
       if element.get('menu'):
         entry['menu'] = self._get_men_entries(
@@ -104,7 +106,10 @@ class SAMSApp:
       entries.append(entry)
     return entries
   
-  def _generate_url(self, urlPrefix: str, urlPart: str = '') -> str:
+  def _generate_url(
+      self, urlPrefix: str, urlPart: str = '', external = False ) -> str:
+    if external:
+      return urlPart
     urlPrefix = urlPrefix.strip('/')
     urlPart = urlPart.strip('/')
     urlElements = []
diff --git a/test/test_sams_app.py b/test/test_sams_app.py
index 2906cb5557acac0146b1e6c64c7d7f2b60b21281..a5288aa8680937fece5b46f5e62ebf19a6ea7f7b 100644
--- a/test/test_sams_app.py
+++ b/test/test_sams_app.py
@@ -156,6 +156,21 @@ class TestSAMSApp(unittest.TestCase):
     self.assertEqual(menu[0]['url'], '/test')
     self.assertEqual(menu[1]['url'], '/test/1')
   
+  def test_app_menu_external_urls(self):
+    """app.menu(lanCode, prefix) ignors external urls for prefix"""
+    manifest = {
+      'default_language': 'en', 'menu': [
+        {'url': '', 'name_string': '0'},
+        {'url': 'http://zib.de', 'name_string': '1', 'external': True}
+      ]
+    }
+    langDict = {'0': 'main', '1': 'second'}
+    app = SAMSApp(name = 'test', manifest = manifest
+      , langDict = {'en': langDict})
+    menu = app.menu(langCode = 'en', urlPrefix = '/test')
+    self.assertEqual(menu[0]['url'], '/test')
+    self.assertEqual(menu[1]['url'], 'http://zib.de')
+  
   def test_app_proxies_list(self):
     """ app.proxies provides list even if no proxy is defined in manifest"""
     app = SAMSApp(name = 'test', manifest = {'default_language': 'de'},