diff --git a/manual/filesys.texi b/manual/filesys.texi
index dc047c0..0b83999 100644
--- a/manual/filesys.texi
+++ b/manual/filesys.texi
@@ -928,12 +928,10 @@ parameter to the function is a pointer to a variable of type
 int (*) (const char *, const struct stat *, int, struct FTW *)
 @end smallexample
 
-@vindex FTW_DP
-@vindex FTW_SLN
 The first three arguments are the same as for the @code{__ftw_func_t}
 type.  However for the third argument some additional values are defined
 to allow finer differentiation:
-@table @code
+@vtable @code
 @item FTW_DP
 The current item is a directory and all subdirectories have already been
 visited and reported.  This flag is returned instead of @code{FTW_D} if
@@ -941,7 +939,7 @@ the @code{FTW_DEPTH} flag is passed to @code{nftw} (see below).
 @item FTW_SLN
 The current item is a stale symbolic link.  The file it points to does
 not exist.
-@end table
+@end vtable
 
 The last parameter of the callback function is a pointer to a structure
 with some extra information as described below.
diff --git a/manual/llio.texi b/manual/llio.texi
index e2697aa..0db44e0 100644
--- a/manual/llio.texi
+++ b/manual/llio.texi
@@ -690,7 +690,7 @@ interpreted, in the same way as for the @code{fseek} function, and it must
 be one of the symbolic constants @code{SEEK_SET}, @code{SEEK_CUR}, or
 @code{SEEK_END}.
 
-@table @code
+@vtable @code
 @item SEEK_SET
 Specifies that @var{offset} is a count of characters from the beginning
 of the file.
@@ -706,7 +706,7 @@ extent of the file; a positive count specifies a position past the
 current end.  If you set the position past the current end, and
 actually write data, you will extend the file with zeros up to that
 position.
-@end table
+@end vtable
 
 The return value from @code{lseek} is normally the resulting file
 position, measured in bytes from the beginning of the file.
@@ -858,7 +858,7 @@ These aliases for the @samp{SEEK_@dots{}} constants exist for the sake
 of compatibility with older BSD systems.  They are defined in two
 different header files: @file{fcntl.h} and @file{sys/file.h}.
 
-@table @code
+@vtable @code
 @item L_SET
 An alias for @code{SEEK_SET}.
 
@@ -867,7 +867,7 @@ An alias for @code{SEEK_CUR}.
 
 @item L_XTND
 An alias for @code{SEEK_END}.
-@end table
+@end vtable
 
 @node Descriptors and Streams
 @section Descriptors and Streams
@@ -1492,7 +1492,7 @@ and extending @var{length} bytes.
 
 The valid BSD values for @var{advice} are:
 
-@table @code
+@vtable @code
 
 @item MADV_NORMAL
 The region should receive no further special treatment.
@@ -1515,11 +1515,11 @@ The region is no longer needed.  The kernel may free these pages,
 causing any changes to the pages to be lost, as well as swapped
 out pages to be discarded.
 
-@end table
+@end vtable
 
 The POSIX names are slightly different, but with the same meanings:
 
-@table @code
+@vtable @code
 
 @item POSIX_MADV_NORMAL
 This corresponds with BSD's @code{MADV_NORMAL}.
@@ -1536,7 +1536,7 @@ This corresponds with BSD's @code{MADV_WILLNEED}.
 @item POSIX_MADV_DONTNEED
 This corresponds with BSD's @code{MADV_DONTNEED}.
 
-@end table
+@end vtable
 
 @code{madvise} returns @math{0} for success and @math{-1} for
 error.  Errors include:
@@ -2906,7 +2906,7 @@ descriptions of the individual commands.
 
 Briefly, here is a list of what the various commands are.
 
-@table @code
+@vtable @code
 @item F_DUPFD
 Duplicate the file descriptor (return another file descriptor pointing
 to the same open file).  @xref{Duplicating Descriptors}.
@@ -2951,7 +2951,7 @@ Get process or process group ID to receive @code{SIGIO} signals.
 @item F_SETOWN
 Set process or process group ID to receive @code{SIGIO} signals.
 @xref{Interrupt Input}.
-@end table
+@end vtable
 
 This function is a cancellation point in multi-threaded programs.  This
 is a problem if the thread allocates some resources (like memory, file
diff --git a/manual/memory.texi b/manual/memory.texi
index b66de60..38d3c3a 100644
--- a/manual/memory.texi
+++ b/manual/memory.texi
@@ -1090,8 +1090,8 @@ When calling @code{mallopt}, the @var{param} argument specifies the
 parameter to be set, and @var{value} the new value to be set.  Possible
 choices for @var{param}, as defined in @file{malloc.h}, are:
 
-@table @code
 @comment TODO: @item M_CHECK_ACTION
+@vtable @code
 @item M_MMAP_MAX
 The maximum number of chunks to allocate with @code{mmap}.  Setting this
 to zero disables all use of @code{mmap}.
@@ -1177,7 +1177,7 @@ derived from the default value of M_ARENA_TEST and is computed independently.
 
 This parameter can also be set for the process at startup by setting the
 environment variable @env{MALLOC_ARENA_MAX} to the desired value.
-@end table
+@end vtable
 
 @end deftypefun
 
@@ -3213,7 +3213,7 @@ user space kernel data, shared memory, and memory mapped files.
 macros.  They tell @code{mlockall} which of its functions you want.  All
 other bits must be zero.
 
-@table @code
+@vtable @code
 
 @item MCL_CURRENT
 Lock all pages which currently exist in the calling process' virtual
@@ -3226,7 +3226,7 @@ affect future address spaces owned by the same process so exec, which
 replaces a process' address space, wipes out @code{MCL_FUTURE}.
 @xref{Executing a File}.
 
-@end table
+@end vtable
 
 When the function returns successfully, and you specified
 @code{MCL_CURRENT}, all of the process' pages are backed by (connected
diff --git a/manual/nss.texi b/manual/nss.texi
index 058b9ae..ee70ad3 100644
--- a/manual/nss.texi
+++ b/manual/nss.texi
@@ -66,7 +66,7 @@ The databases available in the NSS are
 @cindex rpc
 @cindex services
 @cindex shadow
-@vtable @code
+@table @code
 @item aliases
 Mail aliases
 @comment @pxref{Mail Aliases}.
@@ -93,7 +93,7 @@ Network services, @pxref{Services Database}.
 @item shadow
 Shadow user passwords,
 @comment @pxref{Shadow Password Database}.
-@end vtable
+@end table
 
 @noindent
 There will be some more added later (@code{automount}, @code{bootparams},
diff --git a/manual/process.texi b/manual/process.texi
index 67b3237..085fdec 100644
--- a/manual/process.texi
+++ b/manual/process.texi
@@ -594,7 +594,7 @@ These symbolic constants are defined as values for the @var{pid} argument
 to the @code{waitpid} function.
 
 @comment Extra blank lines make it look better.
-@table @code
+@vtable @code
 @item WAIT_ANY
 
 This constant macro (whose value is @code{-1}) specifies that
@@ -605,13 +605,13 @@ This constant macro (whose value is @code{-1}) specifies that
 This constant (with value @code{0}) specifies that @code{waitpid} should
 return status information about any child process in the same process
 group as the calling process.
-@end table
+@end vtable
 
 These symbolic constants are defined as flags for the @var{options}
 argument to the @code{waitpid} function.  You can bitwise-OR the flags
 together to obtain a value to use as the argument.
 
-@table @code
+@vtable @code
 @item WNOHANG
 
 This flag specifies that @code{waitpid} should return immediately
@@ -622,7 +622,7 @@ instead of waiting, if there is no child process ready to be noticed.
 This flag specifies that @code{waitpid} should report the status of any
 child processes that have been stopped as well as those that have
 terminated.
-@end table
+@end vtable
 
 @comment sys/wait.h
 @comment POSIX.1
diff --git a/manual/resource.texi b/manual/resource.texi
index 75e3a1b..bf93375 100644
--- a/manual/resource.texi
+++ b/manual/resource.texi
@@ -337,11 +337,10 @@ This is analogous to @code{rlimit.rlim_max}, but with a different type.
 Here is a list of resources for which you can specify a limit.  Memory
 and file sizes are measured in bytes.
 
-@table @code
+@vtable @code
 @comment sys/resource.h
 @comment BSD
 @item RLIMIT_CPU
-@vindex RLIMIT_CPU
 The maximum amount of CPU time the process can use.  If it runs for
 longer than this, it gets a signal: @code{SIGXCPU}.  The value is
 measured in seconds.  @xref{Operation Error Signals}.
@@ -349,7 +348,6 @@ measured in seconds.  @xref{Operation Error Signals}.
 @comment sys/resource.h
 @comment BSD
 @item RLIMIT_FSIZE
-@vindex RLIMIT_FSIZE
 The maximum size of file the process can create.  Trying to write a
 larger file causes a signal: @code{SIGXFSZ}.  @xref{Operation Error
 Signals}.
@@ -357,7 +355,6 @@ Signals}.
 @comment sys/resource.h
 @comment BSD
 @item RLIMIT_DATA
-@vindex RLIMIT_DATA
 The maximum size of data memory for the process.  If the process tries
 to allocate data memory beyond this amount, the allocation function
 fails.
@@ -365,7 +362,6 @@ fails.
 @comment sys/resource.h
 @comment BSD
 @item RLIMIT_STACK
-@vindex RLIMIT_STACK
 The maximum stack size for the process.  If the process tries to extend
 its stack past this size, it gets a @code{SIGSEGV} signal.
 @xref{Program Error Signals}.
@@ -373,7 +369,6 @@ its stack past this size, it gets a @code{SIGSEGV} signal.
 @comment sys/resource.h
 @comment BSD
 @item RLIMIT_CORE
-@vindex RLIMIT_CORE
 The maximum size core file that this process can create.  If the process
 terminates and would dump a core file larger than this, then no core
 file is created.  So setting this limit to zero prevents core files from
@@ -382,7 +377,6 @@ ever being created.
 @comment sys/resource.h
 @comment BSD
 @item RLIMIT_RSS
-@vindex RLIMIT_RSS
 The maximum amount of physical memory that this process should get.
 This parameter is a guide for the system's scheduler and memory
 allocator; the system may give the process more memory when there is a
@@ -404,9 +398,7 @@ with @code{EAGAIN}.  @xref{Creating a Process}.
 @comment sys/resource.h
 @comment BSD
 @item RLIMIT_NOFILE
-@vindex RLIMIT_NOFILE
 @itemx RLIMIT_OFILE
-@vindex RLIMIT_OFILE
 The maximum number of files that the process can open.  If it tries to
 open more files than this, its open attempt fails with @code{errno}
 @code{EMFILE}.  @xref{Error Codes}.  Not all systems support this limit;
@@ -415,7 +407,6 @@ GNU does, and 4.4 BSD does.
 @comment sys/resource.h
 @comment Unix98
 @item RLIMIT_AS
-@vindex RLIMIT_AS
 The maximum size of total memory that this process should get.  If the
 process tries to allocate more memory beyond this amount with, for
 example, @code{brk}, @code{malloc}, @code{mmap} or @code{sbrk}, the
@@ -424,10 +415,9 @@ allocation function fails.
 @comment sys/resource.h
 @comment BSD
 @item RLIM_NLIMITS
-@vindex RLIM_NLIMITS
 The number of different resource limits.  Any valid @var{resource}
 operand must be less than @code{RLIM_NLIMITS}.
-@end table
+@end vtable
 
 @comment sys/resource.h
 @comment BSD
@@ -460,7 +450,7 @@ If you are setting a limit, there is a second argument:
 the limit.
 
 The @var{cmd} values and the operations they specify are:
-@table @code
+@vtable @code
 
 @item GETFSIZE
 Get the current limit on the size of a file, in units of 512 bytes.
@@ -469,7 +459,7 @@ Get the current limit on the size of a file, in units of 512 bytes.
 Set the current and maximum limit on the size of a file to @var{limit} *
 512 bytes.
 
-@end table
+@end vtable
 
 There are also some other @var{cmd} values that may do things on some
 systems, but they are not supported.
@@ -504,7 +494,7 @@ A process tried to increase a maximum limit, but is not superuser.
 
 @var{resource} identifies the resource:
 
-@table @code
+@vtable @code
 @item LIM_CPU
 Maximum CPU time.  Same as @code{RLIMIT_CPU} for @code{setrlimit}.
 @item LIM_FSIZE
@@ -517,7 +507,7 @@ Maximum stack size.  Same as @code{RLIMIT_STACK} for @code{setrlimit}.
 Maximum core file size.  Same as @code{RLIMIT_COR} for @code{setrlimit}.
 @item LIM_MAXRSS
 Maximum physical memory.  Same as @code{RLIMIT_RSS} for @code{setrlimit}.
-@end table
+@end vtable
 
 The return value is zero for success, and @code{-1} with @code{errno} set
 accordingly for failure:
@@ -810,14 +800,14 @@ negative, @code{sched_setscheduler} keeps the existing scheduling policy.
 
 The following macros represent the valid values for @var{policy}:
 
-@table @code
+@vtable @code
 @item SCHED_OTHER
 Traditional Scheduling
 @item SCHED_FIFO
 First In First Out
 @item SCHED_RR
 Round Robin
-@end table
+@end vtable
 
 @c The Linux kernel code (in sched.c) actually reschedules the process,
 @c but it puts it at the head of the run queue, so I'm not sure just what
diff --git a/manual/search.texi b/manual/search.texi
index a56b3e0..1d9628d 100644
--- a/manual/search.texi
+++ b/manual/search.texi
@@ -600,7 +600,7 @@ the first child is processed, after the first child is processed and
 after both children are processed.  This makes it possible to handle all
 three methods of tree traversal (or even a combination of them).
 
-@table @code
+@vtable @code
 @item preorder
 The current node is an internal node and the function is called before
 the first child was processed.
@@ -612,7 +612,7 @@ The current node is an internal node and the function is called after
 the second child was processed.
 @item leaf
 The current node is a leaf.
-@end table
+@end vtable
 @end deftp
 
 @comment search.h
diff --git a/manual/sysinfo.texi b/manual/sysinfo.texi
index 66b7f3d..9a8b79d 100644
--- a/manual/sysinfo.texi
+++ b/manual/sysinfo.texi
@@ -912,7 +912,7 @@ file accesses via @code{ioctl}.
 @var{options} is a bit string with bit fields defined using the
 following mask and masked value macros:
 
-@table @code
+@vtable @code
 @item MS_MGC_MASK
 This multibit field contains a magic number.  If it does not have the value
 @code{MS_MGC_VAL}, @code{mount} assumes all the following bits are zero and
@@ -962,7 +962,7 @@ when the directories are accessed while the filesystem in mounted.
 @c there is also S_QUOTA Linux fs.h (mount.h still uses its former name
 @c S_WRITE), but I can't see what it does.  Turns on quotas, I guess.
 
-@end table
+@end vtable
 
 Any bits not covered by the above masks should be set off; otherwise,
 results are undefined.
@@ -1066,7 +1066,7 @@ the same.  Specify either as the string @var{file}.
 @var{flags} contains the one-bit field identified by the following
 mask macro:
 
-@table @code
+@vtable @code
 
 @item MNT_FORCE
 This bit on means to force the unmounting even if the filesystem is
@@ -1074,7 +1074,7 @@ busy, by making it unbusy first.  If the bit is off and the filesystem is
 busy, @code{umount2} fails with @code{errno} = @code{EBUSY}.  Depending
 on the filesystem, this may override all, some, or no busy conditions.
 
-@end table
+@end vtable
 
 All other bits in @var{flags} should be set to zero; otherwise, the result
 is undefined.
diff --git a/manual/syslog.texi b/manual/syslog.texi
index 91fabc6..7b73a09 100644
--- a/manual/syslog.texi
+++ b/manual/syslog.texi
@@ -221,7 +221,7 @@ implicitly and uses defaults for the information in @var{ident} and
 @var{options} is a bit string, with the bits as defined by the following
 single bit masks:
 
-@table @code
+@vtable @code
 @item LOG_PERROR
 If on, @code{openlog} sets up the connection so that any @code{syslog}
 on this connection writes its message to the calling process' Standard
@@ -250,7 +250,7 @@ exactly the opposite.
 @item LOG_ODELAY
 This bit does nothing.  It exists for backward compatibility.
 
-@end table
+@end vtable
 
 If any other bit in @var{options} is on, the result is undefined.
 
diff --git a/manual/terminal.texi b/manual/terminal.texi
index 49f5097..0c0ded1 100644
--- a/manual/terminal.texi
+++ b/manual/terminal.texi
@@ -1846,22 +1846,19 @@ argument specifies which queue(s) to clear, and can be one of the
 following values:
 
 @c Extra blank lines here make it look better.
-@table @code
-@vindex TCIFLUSH
+@vtable @code
 @item TCIFLUSH
 
 Clear any input data received, but not yet read.
 
-@vindex TCOFLUSH
 @item TCOFLUSH
 
 Clear any output data written, but not yet transmitted.
 
-@vindex TCIOFLUSH
 @item TCIOFLUSH
 
 Clear both queued input and output.
-@end table
+@end vtable
 
 The return value is normally zero.  In the event of an error, a value
 of @math{-1} is returned.  The following @code{errno} error conditions
@@ -1901,23 +1898,19 @@ XON/XOFF flow control on the terminal file specified by @var{filedes}.
 The @var{action} argument specifies what operation to perform, and can
 be one of the following values:
 
-@table @code
-@vindex TCOOFF
+@vtable @code
 @item TCOOFF
 Suspend transmission of output.
 
-@vindex TCOON
 @item TCOON
 Restart transmission of output.
 
-@vindex TCIOFF
 @item TCIOFF
 Transmit a STOP character.
 
-@vindex TCION
 @item TCION
 Transmit a START character.
-@end table
+@end vtable
 
 For more information about the STOP and START characters, see @ref{Special
 Characters}.
diff --git a/manual/time.texi b/manual/time.texi
index e590c77..dccb979 100644
--- a/manual/time.texi
+++ b/manual/time.texi
@@ -1016,12 +1016,12 @@ call is necessary.
 The return value is @code{0} on success and other values on failure.  The
 following @code{errno} error conditions are defined for this function:
 
-@table @code
+@vtable @code
 @item TIME_ERROR
 The precision clock model is not properly set up at the moment, thus the
 clock must be considered unsynchronized, and the values should be
 treated with care.
-@end table
+@end vtable
 @end deftypefun
 
 @tindex struct timex
