diff --git a/daemon/mgmt/notification-stream.hpp b/daemon/mgmt/notification-stream.hpp
index 8d727d7..06c3b5a 100644
--- a/daemon/mgmt/notification-stream.hpp
+++ b/daemon/mgmt/notification-stream.hpp
@@ -1,11 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014  Regents of the University of California,
- *                     Arizona Board of Regents,
- *                     Colorado State University,
- *                     University Pierre & Marie Curie, Sorbonne University,
- *                     Washington University in St. Louis,
- *                     Beijing Institute of Technology
+ * Copyright (c) 2014,  Regents of the University of California,
+ *                      Arizona Board of Regents,
+ *                      Colorado State University,
+ *                      University Pierre & Marie Curie, Sorbonne University,
+ *                      Washington University in St. Louis,
+ *                      Beijing Institute of Technology,
+ *                      The University of Memphis
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
@@ -20,7 +21,8 @@
  *
  * You should have received a copy of the GNU General Public License along with
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
- **/
+ */
+
 #ifndef NFD_DAEMON_MGMT_NOTIFICATION_STREAM_HPP
 #define NFD_DAEMON_MGMT_NOTIFICATION_STREAM_HPP
 
@@ -31,7 +33,7 @@
 class NotificationStream
 {
 public:
-  NotificationStream(shared_ptr<AppFace> face, const Name& prefix);
+  NotificationStream(shared_ptr<AppFace> face, const Name& prefix, ndn::KeyChain& keyChain);
 
   ~NotificationStream();
 
@@ -42,13 +44,17 @@
   shared_ptr<AppFace> m_face;
   const Name m_prefix;
   uint64_t m_sequenceNo;
+  ndn::KeyChain& m_keyChain;
 };
 
 inline
-NotificationStream::NotificationStream(shared_ptr<AppFace> face, const Name& prefix)
+NotificationStream::NotificationStream(shared_ptr<AppFace> face,
+                                       const Name& prefix,
+                                       ndn::KeyChain& keyChain)
   : m_face(face)
   , m_prefix(prefix)
   , m_sequenceNo(0)
+  , m_keyChain(keyChain)
 {
 }
 
@@ -62,7 +68,7 @@
   data->setContent(notification.wireEncode());
   data->setFreshnessPeriod(time::seconds(1));
 
-  m_face->sign(*data);
+  m_keyChain.sign(*data);
   m_face->put(*data);
 
   ++m_sequenceNo;
