diff --git a/Doxyfile.in b/Doxyfile.in
index 8632ee75e1e1a261f2b2829aa93726012fbdecde..13b0c24f63d97f52a778a6abd5a57868be6cefb7 100644
--- a/Doxyfile.in
+++ b/Doxyfile.in
@@ -648,7 +648,7 @@ EXAMPLE_RECURSIVE      = NO
 # directories that contain image that are included in the documentation (see
 # the \image command).
 
-IMAGE_PATH             =
+IMAGE_PATH             = @srcdir@/doc/manual/images
 
 # The INPUT_FILTER tag can be used to specify a program that doxygen should
 # invoke to filter for each input file. Doxygen will invoke the filter program
diff --git a/doc/manual/images/jtag-state-machine-large.png b/doc/manual/images/jtag-state-machine-large.png
new file mode 100644
index 0000000000000000000000000000000000000000..c91fcf4b802a00652b1d8116700b1de7af67b0ba
Binary files /dev/null and b/doc/manual/images/jtag-state-machine-large.png differ
diff --git a/doc/manual/primer/jtag.txt b/doc/manual/primer/jtag.txt
index 997f53bf0ae92e33aa6742076df233eb173b56aa..41eef723db7a308c2f2ee1e39eb9c33a8a19a74c 100644
--- a/doc/manual/primer/jtag.txt
+++ b/doc/manual/primer/jtag.txt
@@ -14,8 +14,7 @@ just a logical interface that allows a uniform channel for communication.
 See @par
 	http://en.wikipedia.org/wiki/Joint_Test_Action_Group
 
-and @par
-	http://www.inaccessnetworks.com/projects/ianjtag/jtag-intro/jtag-state-machine-large.png
+@image html jtag-state-machine-large.png
 
 The first page (among other things) shows a logical representation
 describing how multiple devices are wired up using JTAG.  JTAG does not