diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index cb5503eee09e1b2160736b2d2f3e9f554b6421c1..5456c264d3c8e3ab33702e5a3a50e18f3b1c2812 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -906,8 +906,10 @@ def construct(self):
             # our nested launcher_app
             with self.prefix(dst="MacOS"):
                 toplevel_MacOS = self.get_dst_prefix()
-                trampoline = self.put_in_file(
-                    'open "%s"\n' %
+                trampoline = self.put_in_file("""\
+#!/bin/bash
+open "%s"
+""" %
                     # up one directory from MacOS to its sibling Resources directory
                     os.path.join('$(dirname "$0")', os.pardir, 'Resources', launcher_app),
                     "SL_Launcher",      # write this file