diff --git a/doc/install.texi b/doc/install.texi
index c2cafa2..1823e97 100644
--- a/doc/install.texi
+++ b/doc/install.texi
@@ -2,11 +2,11 @@
 @comment  node-name,  next,  previous,  up
 @chapter Installation
 
-@cindex How to install Zebra
+@cindex How to install Quagga
 @cindex Installation
-@cindex Installing Zebra
+@cindex Installing Quagga
 @cindex Building the system
-@cindex Making Zebra
+@cindex Making Quagga
 
   There are three steps for installing the software: configuration,
 compilation, and installation.
@@ -17,7 +17,7 @@
 * Install the Software::        
 @end menu
 
-  The easiest way to get Zebra running is to issue the following
+  The easiest way to get Quagga running is to issue the following
 commands:
 
 @example
@@ -36,7 +36,7 @@
 @cindex Distribution configuration
 @cindex Options to @code{./configure}
  
-  Zebra has an excellent configure script which
+  Quagga has an excellent configure script which
 automatically detects most host configurations.  There are several
 additional configure options you can use to turn off IPv6 support, to
 disable the compilation of specific daemons, and to enable SNMP support.
@@ -47,9 +47,9 @@
 guile library to make this.  zebra-guile implementation is not yet
 finished.  So this option is only useful for zebra-guile developers.
 @item --disable-ipv6
-Turn off IPv6 related features and daemons.  Zebra configure script
+Turn off IPv6 related features and daemons.  Quagga configure script
 automatically detects IPv6 stack.  But sometimes you might want to
-disable IPv6 support of Zebra.
+disable IPv6 support of Quagga.
 @item --disable-zebra
 Do not build zebra daemon.
 @item --disable-ripd
@@ -66,7 +66,7 @@
 Make @command{bgpd} which does not make bgp announcements at all.  This
 feature is good for using @command{bgpd} as a BGP announcement listener.
 @item --enable-netlink
-Force to enable @sc{gnu}/Linux netlink interface.  Zebra configure
+Force to enable @sc{gnu}/Linux netlink interface.  Quagga configure
 script detects netlink interface by checking a header file.  When the header
 file does not match to the current running kernel, configure script will
 not turn on netlink support.
@@ -128,7 +128,7 @@
 this group.
 @end table
 
-The default user and group which will be configured is 'zebra' if no user
+The default user and group which will be configured is 'quagga' if no user
 or group is specified. Note that this user or group requires write access
 to the local state directory (see --localstatedir) and requires at least
 read access, and write access if you wish to allow daemons
@@ -136,9 +136,9 @@
 (see --sysconfdir).
 
 On systems which have the 'libcap' capabilities manipulation library
-(currently only linux), the zebra system will retain
+(currently only linux), the quagga system will retain
 only minimal capabilities required, further it will only raise these
-capabilities for brief periods. On systems without libcap, zebra will run
+capabilities for brief periods. On systems without libcap, quagga will run
 as the user specified and only raise its uid back to uid 0 for brief
 periods.
 
@@ -148,7 +148,7 @@
 
 This command will configure zebra and the routing daemons.
 
-@cindex Configuring Zebra
+@cindex Configuring Quagga
 @cindex Configuration the software build
 @cindex Building on Linux boxes
 @cindex Linux configurations
@@ -156,7 +156,7 @@
 There are several options available only to @sc{gnu}/Linux systems:
 @footnote{GNU/Linux has very flexible kernel configuration features.  If
 you use GNU/Linux, make sure that the current kernel configuration is
-what you want.  Zebra will run with any kernel configuration but some
+what you want.  Quagga will run with any kernel configuration but some
 recommendations do exist.
 
 @table @var
@@ -164,7 +164,7 @@
 @item CONFIG_NETLINK
 Kernel/User netlink socket.  
 This is a brand new feature which enables
-an advanced interface between the Linux kernel and Zebra (@pxref{Kernel Interface}).
+an advanced interface between the Linux kernel and zebra (@pxref{Kernel Interface}).
 
 @item CONFIG_RTNETLINK
 Routing messages.
@@ -180,7 +180,7 @@
 @end table
 
 IPv6 support has been added in @sc{gnu}/Linux kernel version 2.2.  If you
-try to use the Zebra IPv6 feature on a @sc{gnu}/Linux kernel, please
+try to use the Quagga IPv6 feature on a @sc{gnu}/Linux kernel, please
 make sure the following libraries have been installed.  Please note that
 these libraries will not be needed when you uses @sc{gnu} C library 2.1
 or upper.
@@ -236,7 +236,7 @@
 installation process has completed, these files have been copied
 from your work directory to @file{/usr/local/bin}, and @file{/usr/local/etc}.
 
-To install the Zebra suite, issue the following command at your shell
+To install the Quagga suite, issue the following command at your shell
 prompt: @command{make install}.
 
 @example
@@ -250,7 +250,7 @@
 @comment  node-name,  next,  previous,  up
 @c @section Additional Notes
 
-Zebra daemons have their own terminal interface or VTY.  After
+Quagga daemons have their own terminal interface or VTY.  After
 installation, you have to setup each beast's port number to connect to
 them.  Please add the following entries to @file{/etc/services}.
 
