diff --git a/src/interest.hpp b/src/interest.hpp
index f772def..a00bbc0 100644
--- a/src/interest.hpp
+++ b/src/interest.hpp
@@ -205,6 +205,25 @@
   Interest&
   setForwardingHint(const DelegationList& value);
 
+  /** @brief modify ForwardingHint in-place
+   *  @tparam Modifier a unary function that accepts DelegationList&
+   *
+   *  This is equivalent to, but more efficient (avoids copying) than:
+   *  @code
+   *  auto fh = interest.getForwardingHint();
+   *  modifier(fh);
+   *  interest.setForwardingHint(fh);
+   *  @endcode
+   */
+  template<typename Modifier>
+  Interest&
+  modifyForwardingHint(const Modifier& modifier)
+  {
+    modifier(m_forwardingHint);
+    m_wire.reset();
+    return *this;
+  }
+
 public: // Selectors
   /**
    * @return true if Interest has any selector present
diff --git a/tests/unit-tests/interest.t.cpp b/tests/unit-tests/interest.t.cpp
index f2a7745..d0345a4 100644
--- a/tests/unit-tests/interest.t.cpp
+++ b/tests/unit-tests/interest.t.cpp
@@ -355,6 +355,18 @@
   BOOST_CHECK_EQUAL(i.getInterestLifetime(), time::milliseconds(1));
 }
 
+BOOST_AUTO_TEST_CASE(ModifyForwardingHint)
+{
+  Interest i;
+  i.setForwardingHint({{1, "/A"}});
+  i.wireEncode();
+  BOOST_CHECK(i.hasWire());
+
+  i.modifyForwardingHint([] (DelegationList& fh) { fh.insert(2, "/B"); });
+  BOOST_CHECK(!i.hasWire());
+  BOOST_CHECK_EQUAL(i.getForwardingHint(), DelegationList({{1, "/A"}, {2, "/B"}}));
+}
+
 // ---- operators ----
 
 BOOST_AUTO_TEST_CASE(Equality)
