diff --git a/daemon/face/udp-face.cpp b/daemon/face/udp-face.cpp
index d4fe8cf..843d48f 100644
--- a/daemon/face/udp-face.cpp
+++ b/daemon/face/udp-face.cpp
@@ -103,8 +103,10 @@
 {
   ndn::nfd::FaceStatus status = Face::getFaceStatus();
   if (isOnDemand()) {
-    time::milliseconds left = time::duration_cast<time::milliseconds>(
+    time::milliseconds left = m_idleTimeout - time::duration_cast<time::milliseconds>(
       time::steady_clock::now() - m_lastIdleCheck);
+    if (left < time::milliseconds::zero())
+      left = time::milliseconds::zero();
 
     if (hasBeenUsedRecently()) {
       status.setExpirationPeriod(left + m_idleTimeout);
diff --git a/docs/_static/nfd-status.xsd b/docs/_static/nfd-status.xsd
index 8f9f7cf..829ba7c 100644
--- a/docs/_static/nfd-status.xsd
+++ b/docs/_static/nfd-status.xsd
@@ -57,6 +57,7 @@
     <xs:element type="xs:nonNegativeInteger" name="faceId"/>
     <xs:element type="xs:anyURI" name="remoteUri"/>
     <xs:element type="xs:anyURI" name="localUri"/>
+    <xs:element type="xs:duration" name="expirationPeriod" maxOccurs="1" minOccurs="0"/>
     <xs:element type="nfd:bidirectionalPacketCountersType" name="packetCounters"/>
     <xs:element type="nfd:faceFlagsType" name="flags" maxOccurs="1" minOccurs="0"/>
   </xs:sequence>
diff --git a/tools/nfd-status.cpp b/tools/nfd-status.cpp
index 5d35108..d06e8fb 100644
--- a/tools/nfd-status.cpp
+++ b/tools/nfd-status.cpp
@@ -369,6 +369,14 @@
             std::string localUri(faceStatus.getLocalUri());
             escapeSpecialCharacters(&localUri);
             std::cout << "<localUri>" << localUri << "</localUri>";
+
+            if (faceStatus.hasExpirationPeriod()) {
+              std::cout << "<expirationPeriod>PT"
+                        << time::duration_cast<time::seconds>(faceStatus.getExpirationPeriod())
+                             .count() << "S"
+                        << "</expirationPeriod>";
+            }
+
             std::cout << "<packetCounters>";
             std::cout << "<incomingPackets>";
             std::cout << "<nInterests>"       << faceStatus.getNInInterests()
@@ -419,8 +427,13 @@
 
             std::cout << "  faceid=" << faceStatus.getFaceId()
                       << " remote=" << faceStatus.getRemoteUri()
-                      << " local=" << faceStatus.getLocalUri()
-                      << " counters={"
+                      << " local=" << faceStatus.getLocalUri();
+            if (faceStatus.hasExpirationPeriod()) {
+              std::cout  << " expires="
+                         << time::duration_cast<time::seconds>(faceStatus.getExpirationPeriod())
+                              .count() << "s";
+            }
+            std::cout << " counters={"
                       << "in={" << faceStatus.getNInInterests() << "i "
                       << faceStatus.getNInDatas() << "d}"
                       << " out={" << faceStatus.getNOutInterests() << "i "
