diff --git a/Makefile.am b/Makefile.am
index c160af9732697ee846259416ea5a536fae965362..f400728bacb9fd821707328e2f7dc5abc4f69b85 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -36,6 +36,9 @@ EXTRA_DIST+= \
 	README						\
 	ReleaseNotes
 
+## This tells etags how to find mockable function definitions.
+AM_ETAGSFLAGS=--regex='{c}/MOCK_IMPL([^,]+,\W*\([a-zA-Z0-9_]+\)\W*,/\1/s'
+
 if COVERAGE_ENABLED
 TEST_CFLAGS=-fno-inline -fprofile-arcs -ftest-coverage
 if DISABLE_ASSERTS_IN_UNIT_TESTS
diff --git a/changes/16869 b/changes/16869
new file mode 100644
index 0000000000000000000000000000000000000000..6687243551e98c5a057af3bcf757f3d36abb47a8
--- /dev/null
+++ b/changes/16869
@@ -0,0 +1,4 @@
+  o Minor features (development tools, etags):
+    - Teach the "make tags" Makefile target how to correctly find
+      "MOCK_IMPL" function definitions. Patch from nherring; closes
+      ticket 16869.