diff --git a/docs/CommandGuide/extract.pod b/docs/CommandGuide/extract.pod
deleted file mode 100644
index 3232d8e..0000000
--- a/docs/CommandGuide/extract.pod
+++ /dev/null
@@ -1,72 +0,0 @@
-=pod
-
-=head1 NAME
-
-extract - extract a function from an LLVM module
-
-=head1 SYNOPSIS
-
-B<extract> [I<options>] B<--func> I<function-name> [I<filename>]
-
-=head1 DESCRIPTION
-
-The B<extract> command takes the name of a function and extracts it from
-the specified LLVM bytecode file.  It is primarily used as a debugging tool to
-reduce test cases from larger programs that are triggering a bug.
-
-In addition to extracting the bytecode of the specified function,
-B<extract> will also remove unreachable global variables, prototypes, and
-unused types.
-
-The B<extract> command reads its input from standard input if filename is
-omitted or if filename is -.  The output is always written to standard output,
-unless the B<-o> option is specified (see below).
-
-=head1 OPTIONS
-
-=over
-
-=item B<-f>
-
-Force overwrite.  Normally, B<extract> will refuse to overwrite an
-output file that already exists.  With this option, B<extract>
-will overwrite the output file and replace it with new bytecode.
-
-=item B<--func> I<function-name>
-
-Extract the function named I<function-name> from the LLVM bytecode.
-
-=item B<--help>
-
-Print a summary of command line options.
-
-=item B<-o> I<filename>
-
-Specify the output filename.  If filename is "-" (the default), then
-B<extract> sends its output to standard output.
-
-=item B<--stats>
-
-Print statistics.
-
-=item B<--time-passes>
-
-Record the amount of time needed for each pass and print it to standard
-error.
-
-=back
-
-=head1 EXIT STATUS
-
-If B<extract> succeeds, it will exit with 0.  Otherwise, if an error
-occurs, it will exit with a non-zero value.
-
-=head1 SEE ALSO
-
-L<bugpoint|bugpoint>
-
-=head1 AUTHORS
-
-Maintained by the LLVM Team (L<http://llvm.cs.uiuc.edu>).
-
-=cut
diff --git a/docs/CommandGuide/index.html b/docs/CommandGuide/index.html
index 5a48af8..bdb15c9 100644
--- a/docs/CommandGuide/index.html
+++ b/docs/CommandGuide/index.html
@@ -119,7 +119,7 @@
 <li><a href="html/bugpoint.html"><b>bugpoint</b></a> -
     automatic test-case reducer</li>
 
-<li><a href="html/extract.html"><b>extract</b></a> -
+<li><a href="html/llvm-extract.html"><b>llvm-extract</b></a> -
     extract a function from an LLVM bytecode file</li>
 
 <li><a href="html/llvm-bcanalyzer.html"><b>llvm-bcanalyzer</b></a> -
diff --git a/docs/CommandGuide/llvm-extract.pod b/docs/CommandGuide/llvm-extract.pod
index 3232d8e..dfdea35 100644
--- a/docs/CommandGuide/llvm-extract.pod
+++ b/docs/CommandGuide/llvm-extract.pod
@@ -2,23 +2,23 @@
 
 =head1 NAME
 
-extract - extract a function from an LLVM module
+llvm-extract - extract a function from an LLVM module
 
 =head1 SYNOPSIS
 
-B<extract> [I<options>] B<--func> I<function-name> [I<filename>]
+B<llvm-extract> [I<options>] B<--func> I<function-name> [I<filename>]
 
 =head1 DESCRIPTION
 
-The B<extract> command takes the name of a function and extracts it from
+The B<llvm-extract> command takes the name of a function and extracts it from
 the specified LLVM bytecode file.  It is primarily used as a debugging tool to
 reduce test cases from larger programs that are triggering a bug.
 
 In addition to extracting the bytecode of the specified function,
-B<extract> will also remove unreachable global variables, prototypes, and
+B<llvm-extract> will also remove unreachable global variables, prototypes, and
 unused types.
 
-The B<extract> command reads its input from standard input if filename is
+The B<llvm-extract> command reads its input from standard input if filename is
 omitted or if filename is -.  The output is always written to standard output,
 unless the B<-o> option is specified (see below).
 
@@ -28,8 +28,8 @@
 
 =item B<-f>
 
-Force overwrite.  Normally, B<extract> will refuse to overwrite an
-output file that already exists.  With this option, B<extract>
+Force overwrite.  Normally, B<llvm-extract> will refuse to overwrite an
+output file that already exists.  With this option, B<llvm-extract>
 will overwrite the output file and replace it with new bytecode.
 
 =item B<--func> I<function-name>
@@ -43,7 +43,7 @@
 =item B<-o> I<filename>
 
 Specify the output filename.  If filename is "-" (the default), then
-B<extract> sends its output to standard output.
+B<llvm-extract> sends its output to standard output.
 
 =item B<--stats>
 
@@ -58,7 +58,7 @@
 
 =head1 EXIT STATUS
 
-If B<extract> succeeds, it will exit with 0.  Otherwise, if an error
+If B<llvm-extract> succeeds, it will exit with 0.  Otherwise, if an error
 occurs, it will exit with a non-zero value.
 
 =head1 SEE ALSO
