diff --git a/manifests/newsyslog/messages/sa.pp b/manifests/newsyslog/messages/sa.pp
index fb531760a713d43dbb7305baffbc813a02d79208..1e0e2f5ca889f3472be5e7b408b21e377bf8297c 100644
--- a/manifests/newsyslog/messages/sa.pp
+++ b/manifests/newsyslog/messages/sa.pp
@@ -7,11 +7,18 @@ class base::newsyslog::messages::sa inherits base::newsyslog {
         ensure => absent,
     }
 
+  # Determine the PID file location for the HUP action in the default messages
+  # configuration.  Red Hat uses syslogd and Debian uses rsyslogd.
+  case $::operatingsystem {
+    'redhat': { $pid_file = '/var/run/syslogd.pid'  }
+    default:  { $pid_file = '/var/run/rsyslogd.pid' }
+  }
+
    # Rotate /var/log/messages into AFS and analyze it.
    Base::Newsyslog::Config['messages'] {
         frequency => "daily",
         directory => "/var/log",
-        restart   => "hup $messagesPIDFile",
+        restart   => "hup ${pid_file}",
         archive   => "/afs/ir/service/clients/logs",
         log_owner => "root",
         log_group => "root",
@@ -19,4 +26,4 @@ class base::newsyslog::messages::sa inherits base::newsyslog {
         logs      => [ "messages" ],
         analyze   => "/usr/bin/filter-syslog",
    }
-}
\ No newline at end of file
+}