Index: daemons/common/err_trace.c
===================================================================
--- daemons/common/err_trace.c  (revision 153)
+++ daemons/common/err_trace.c  (working copy)
@@ -762,7 +762,11 @@

        /* If the file does not exist, create it. Otherwise just open it. */
        if (SGE_STAT(tmppath, &statbuf)) {
-         fd = SGE_OPEN3(tmppath, O_RDWR | O_CREAT | O_APPEND, 0644);
+          if (shepherd_file == st_trace)
+             fd = SGE_OPEN3(tmppath, O_RDWR | O_CREAT | O_APPEND, 0600);
+          else
+            fd = SGE_OPEN3(tmppath, O_RDWR | O_CREAT | O_APPEND, 0644);
+
       if (fd<0) {
          sge_dstring_init(&ds, buffer, sizeof(buffer));
          sge_dstring_sprintf(&ds, "creat(%s) failed: %s", tmppath, strerror(errno));
