diff --git a/tests/other/fw/congestion-mark-strategy.cpp b/tests/other/fw/congestion-mark-strategy.cpp
index 744608f..9543fda 100644
--- a/tests/other/fw/congestion-mark-strategy.cpp
+++ b/tests/other/fw/congestion-mark-strategy.cpp
@@ -79,17 +79,17 @@
 }
 
 void
-CongestionMarkStrategy::afterReceiveInterest(const Face& inFace, const Interest& interest,
+CongestionMarkStrategy::afterReceiveInterest(const FaceEndpoint& ingress, const Interest& interest,
                                              const shared_ptr<pit::Entry>& pitEntry)
 {
   auto mark = interest.getCongestionMark();
   if (mark != m_congestionMark && (!m_shouldPreserveMark || mark == 0)) {
     Interest markedInterest(interest);
     markedInterest.setCongestionMark(m_congestionMark);
-    BestRouteStrategy2::afterReceiveInterest(inFace, markedInterest, pitEntry);
+    BestRouteStrategy2::afterReceiveInterest(ingress, markedInterest, pitEntry);
   }
   else {
-    BestRouteStrategy2::afterReceiveInterest(inFace, interest, pitEntry);
+    BestRouteStrategy2::afterReceiveInterest(ingress, interest, pitEntry);
   }
 }
 
diff --git a/tests/other/fw/congestion-mark-strategy.hpp b/tests/other/fw/congestion-mark-strategy.hpp
index e8c7326..092f8b7 100644
--- a/tests/other/fw/congestion-mark-strategy.hpp
+++ b/tests/other/fw/congestion-mark-strategy.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2017,  Regents of the University of California,
+ * Copyright (c) 2014-2019,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -39,6 +39,8 @@
  *  The value of the added CongestionMark can be specified through a strategy parameter (defaults
  *  to 1). In addition, an optional boolean parameter specifies whether the strategy will preserve
  *  existing CongestionMarks (default) or replace them.
+ *
+ *  \note This strategy is not EndpointId-aware.
  */
 class CongestionMarkStrategy : public BestRouteStrategy2
 {
@@ -50,7 +52,7 @@
   getStrategyName();
 
   void
-  afterReceiveInterest(const Face& inFace, const Interest& interest,
+  afterReceiveInterest(const FaceEndpoint& ingress, const Interest& interest,
                        const shared_ptr<pit::Entry>& pitEntry) override;
 
 private:
