diff --git a/MAC/APL/PAC/BeamServer/src/beamserver.in b/MAC/APL/PAC/BeamServer/src/beamserver.in
index 5864e5e75a05f33a82c2bbfb87ff597db121ef54..719285c0f720aa3bf895040cc58894f728ee7ed3 100644
--- a/MAC/APL/PAC/BeamServer/src/beamserver.in
+++ b/MAC/APL/PAC/BeamServer/src/beamserver.in
@@ -48,10 +48,26 @@ start() {
     # Start BeamServer
     echo -n $"Starting $prog: "
 
-    daemon $PREFIX/bin/$prog $OPTIONS
+    # create logging output directory and push it
+    # because BeamServer dumps logfiles in the current
+    # directory
+    mkdir -p $PREFIX/var/log
+    pushd $PREFIX/var/log > /dev/null
+
+    #
+    # start in the background
+    #
+    # we can use the relative path because we know we are in
+    # $PREFIX/var/log (with pushd on previous line)
+    #
+    daemon ../../bin/$prog $OPTIONS
     RETVAL=$?
     [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
     echo
+
+    # return to original directory
+    popd > /dev/null
+
     return $RETVAL
 }
 
diff --git a/MAC/APL/PAC/CalServer/src/calserver.in b/MAC/APL/PAC/CalServer/src/calserver.in
index 01e9e304287471c32a18ccb6e4366b7f08f93358..1c66168e9b5f61aed07768610746c8565aee3527 100644
--- a/MAC/APL/PAC/CalServer/src/calserver.in
+++ b/MAC/APL/PAC/CalServer/src/calserver.in
@@ -46,10 +46,26 @@ start() {
     # Start CalServer
     echo -n $"Starting $prog: "
     
-    daemon $PREFIX/bin/$prog $OPTIONS
+    # create logging output directory and push it
+    # because BeamServer dumps logfiles in the current
+    # directory
+    mkdir -p $PREFIX/var/log
+    pushd $PREFIX/var/log > /dev/null
+
+    #
+    # start in the background
+    #
+    # we can use the relative path because we know we are in
+    # $PREFIX/var/log (with pushd on previous line)
+    #
+    daemon ../../bin/$prog $OPTIONS
     RETVAL=$?
     [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
     echo
+
+    # return to original directory
+    popd > /dev/null
+
     return $RETVAL
 }