diff --git a/en_US.ISO8859-1/articles/freebsd-update-server/Makefile b/en_US.ISO8859-1/articles/freebsd-update-server/Makefile
index 2c936b695c..e0f50cf42f 100644
--- a/en_US.ISO8859-1/articles/freebsd-update-server/Makefile
+++ b/en_US.ISO8859-1/articles/freebsd-update-server/Makefile
@@ -17,6 +17,12 @@ EXTRAS+=	diff.txt
 SRCS=		article.sgml
 SRCS+=		${EXTRAS}
 
+IMAGES_LIB=	callouts/1.png
+IMAGES_LIB+=	callouts/2.png
+IMAGES_LIB+=	callouts/3.png
+IMAGES_LIB+=	callouts/4.png
+IMAGES_LIB+=	callouts/5.png
+
 afterinstall:
 .for entry in ${EXTRAS}
 	${INSTALL_DOCS} ${.CURDIR}/${entry} ${DESTDIR}
diff --git a/en_US.ISO8859-1/articles/freebsd-update-server/article.sgml b/en_US.ISO8859-1/articles/freebsd-update-server/article.sgml
index 4bdc462a42..3a4aa60098 100644
--- a/en_US.ISO8859-1/articles/freebsd-update-server/article.sgml
+++ b/en_US.ISO8859-1/articles/freebsd-update-server/article.sgml
@@ -62,7 +62,7 @@
       Running a &fbus.ap; makes it easier to deploy security and software
       patches to selected test machines before rolling them out to
       production.  It also means a number of systems can be updated from the
-      local network rather than a much slower Internet connection.
+      local network rather than a potentially slower Internet connection.
       This article outlines the steps involved in creating an internal
       &fbus.ap;.</para>
   </sect1>
@@ -127,37 +127,36 @@
     <para>Here is the default <filename>build.conf</filename>, which should
       be modified to suit your environment.</para>
 
-    <programlisting>
+    <informalexample>
+      <programlisting>
 
 # Main configuration file for FreeBSD Update builds.  The
 # release-specific configuration data is lower down in
 # the scripts tree.
 
 # Location from which to fetch releases
-export FTP=ftp://ftp2.freebsd.org/pub/FreeBSD/releases
+export FTP=ftp://ftp2.freebsd.org/pub/FreeBSD/releases<co id="ftp-id">
 
 # Host platform
 export HOSTPLATFORM=`uname -m`
 
 # Host name to use inside jails
-export BUILDHOSTNAME=${HOSTPLATFORM}-builder.daemonology.net
+export BUILDHOSTNAME=${HOSTPLATFORM}-builder.daemonology.net<co id="buildhost-id">
 
 # Location of SSH key
-export SSHKEY=/root/.ssh/id_dsa
+export SSHKEY=/root/.ssh/id_dsa<co id="sshkey-id">
 
 # SSH account into which files are uploaded
-MASTERACCT=builder@wadham.daemonology.net
+MASTERACCT=builder@wadham.daemonology.net<co id="mstacct-id">
 
 # Directory into which files are uploaded
-MASTERDIR=update-master.freebsd.org</programlisting>
+MASTERDIR=update-master.freebsd.org<co id="mstdir-id"></programlisting>
+    </informalexample>
 
     <para>Parameters for consideration would be:</para>
 
-    <variablelist>
-      <varlistentry>
-	<term><literal>FTP</literal></term>
-
-	<listitem>
+    <calloutlist>
+      <callout arearefs="ftp-id">
 	  <para>This is the location where ISO images are downloaded from (by
 	    the <function>fetchiso()</function> subroutine
 	    of <filename>scripts/build.subr</filename>).  The location
@@ -171,24 +170,16 @@ MASTERDIR=update-master.freebsd.org</programlisting>
 	    architecture-specific area
 	    at <filename>scripts/RELEASE/ARCHITECTURE/build.subr</filename>
 	    and applying local changes.</para>
-	</listitem>
-      </varlistentry>
+      </callout>
 
-      <varlistentry>
-	<term><literal>BUILDHOSTNAME</literal></term>
-
-	<listitem>
+      <callout arearefs="buildhost-id">
 	  <para>The name of the build host.  This information will be
 	    displayed on updated systems when issuing:</para>
 
 	  <screen>&prompt.user; <userinput>uname -v</userinput></screen>
-	</listitem>
-      </varlistentry>
+      </callout>
 
-      <varlistentry>
-	<term><literal>SSHKEY</literal></term>
-
-	<listitem>
+      <callout arearefs="sshkey-id">
 	  <para>The <application>SSH</application> key for uploading files to
 	    the update server.  A key pair can be created by
 	    typing <command>ssh-keygen -t dsa</command>.  This parameter is
@@ -199,27 +190,18 @@ MASTERDIR=update-master.freebsd.org</programlisting>
 	  <para>The &man.ssh-keygen.1; manual page has more detailed
 	    information about <application>SSH</application> and the
 	    appropriate steps for creating and using one.</para>
-	</listitem>
-      </varlistentry>
+      </callout>
 
-      <varlistentry>
-	<term><literal>MASTERACCT</literal></term>
-
-	<listitem>
+      <callout arearefs="mstacct-id">
 	  <para>Account for uploading files to the update
 	    server.</para>
-	</listitem>
-      </varlistentry>
+      </callout>
 
-      <varlistentry>
-	<term><literal>MASTERDIR</literal></term>
-
-	<listitem>
+      <callout arearefs="mstdir-id">
 	  <para>Directory on the update server where files are uploaded
 	    to.</para>
-	</listitem>
-      </varlistentry>
-    </variablelist>
+      </callout>
+    </calloutlist>
 
     <para>The default <filename>build.conf</filename> file shipped with
       the <application>freebsd-update-server</application> sources is
@@ -242,16 +224,11 @@ MASTERDIR=update-master.freebsd.org</programlisting>
 	  options for &os; 7.2-RELEASE on &arch.amd64; should be similar
 	  to:</para>
 
+	<informalexample>
 	<programlisting># SHA256 hash of RELEASE disc1.iso image.
-export RELH=1ea1f6f652d7c5f5eab7ef9f8edbed50cb664b08ed761850f95f48e86cc71ef5</programlisting>
+export RELH=1ea1f6f652d7c5f5eab7ef9f8edbed50cb664b08ed761850f95f48e86cc71ef5<co id="sha256-id">
 
-	<note>
-	  <para>The &man.sha256.1; hash key for the desired release, is
-	    published within the respective <ulink
-	      url="&url.base;/releases/">release announcement</ulink>.</para>
-	</note>
-
-	<programlisting># Components of the world, source, and kernels
+# Components of the world, source, and kernels
 export WORLDPARTS="base catpages dict doc games info manpages proflibs lib32"
 export SOURCEPARTS="base bin contrib crypto etc games gnu include krb5  \
                 lib libexec release rescue sbin secure share sys tools  \
@@ -259,9 +236,17 @@ export SOURCEPARTS="base bin contrib crypto etc games gnu include krb5  \
 export KERNELPARTS="generic"
 
 # EOL date
-export EOL=1275289200</programlisting>
+export EOL=1275289200<co id="eol-id"></programlisting>
+	</informalexample>
 
-	<note>
+	<calloutlist>
+	  <callout arearefs="sha256-id">
+	    <para>The &man.sha256.1; hash key for the desired release, is
+	      published within the respective <ulink
+		url="&url.base;/releases/">release announcement</ulink>.</para>
+	  </callout>
+
+	  <callout arearefs="eol-id">
 	  <para>To generate the "End of Life" number for
 	    <filename>build.conf</filename>, refer to the "Estimated
 	    EOL" posted on the <ulink
@@ -269,9 +254,9 @@ export EOL=1275289200</programlisting>
 	      Security Website</ulink>.  The value
 	    of <literal>EOL</literal> can be derived from the date listed on
 	    the web site, using the &man.date.1; utility, for example:</para>
-
 	  <screen>&prompt.user; <userinput>date -j -f '%Y%m%d-%H%M%S' '20090401-000000' '+%s'</userinput></screen>
-	</note>
+	  </callout>
+	</calloutlist>
       </step>
     </procedure>
   </sect1>
@@ -818,7 +803,7 @@ the new builds.</screen>
 	    url="&url.books.handbook;/firewalls.html">firewall</ulink>
 	  rule to block outgoing RST packets.  Due to a bug noted <ulink
 	    url="http://lists.freebsd.org/pipermail/freebsd-stable/2009-April/049578.html">in a posting</ulink>
-	  on the &a.stable; mailing list in April 2009, there may be
+	  on the &a.stable; in April 2009, there may be
 	  time-outs and failures when updating a system.</para>
       </listitem>