diff --git a/docs/syscalls/object_get_info.md b/docs/syscalls/object_get_info.md
index c245e41..723bcd2 100644
--- a/docs/syscalls/object_get_info.md
+++ b/docs/syscalls/object_get_info.md
@@ -8,13 +8,17 @@
 
 ## SYNOPSIS
 
+<!-- Updated by scripts/update-docs-from-abigen, do not edit this section manually. -->
+
 ```
 #include <zircon/syscalls.h>
-#include <zircon/syscalls/object.h>
 
-zx_status_t zx_object_get_info(zx_handle_t handle, uint32_t topic,
-                               void* buffer, size_t buffer_size,
-                               size_t* actual, size_t* avail);
+zx_status_t zx_object_get_info(zx_handle_t handle,
+                               uint32_t topic,
+                               void* buffer,
+                               size_t buffer_size,
+                               size_t* actual,
+                               size_t* avail);
 ```
 
 ## DESCRIPTION
diff --git a/docs/syscalls/object_wait_many.md b/docs/syscalls/object_wait_many.md
index b5b4921..3826ee0 100644
--- a/docs/syscalls/object_wait_many.md
+++ b/docs/syscalls/object_wait_many.md
@@ -8,16 +8,14 @@
 
 ## SYNOPSIS
 
+<!-- Updated by scripts/update-docs-from-abigen, do not edit this section manually. -->
+
 ```
 #include <zircon/syscalls.h>
 
-zx_status_t zx_object_wait_many(zx_wait_item_t* items, size_t count, zx_time_t deadline);
-
-typedef struct {
-    zx_handle_t handle;
-    zx_signals_t waitfor;
-    zx_signals_t pending;
-} zx_wait_item_t;
+zx_status_t zx_object_wait_many(zx_wait_item_t* items,
+                                size_t count,
+                                zx_time_t deadline);
 ```
 
 ## DESCRIPTION
@@ -28,7 +26,15 @@
 If an object is already asserting at least one of the specified signals,
 the wait ends immediately.
 
-The caller must provide *count* zx_wait_item_ts in the *items* array,
+```
+typedef struct {
+    zx_handle_t handle;
+    zx_signals_t waitfor;
+    zx_signals_t pending;
+} zx_wait_item_t;
+```
+
+The caller must provide *count* `zx_wait_item_t`s in the *items* array,
 containing the handle and signals bitmask to wait for for each item.
 
 The *deadline* parameter specifies a deadline with respect to
diff --git a/scripts/update-docs-from-abigen b/scripts/update-docs-from-abigen
index cfc2b5f..efd2914 100755
--- a/scripts/update-docs-from-abigen
+++ b/scripts/update-docs-from-abigen
@@ -389,8 +389,6 @@
     'futex_wait',
     'futex_wake',
     'futex_wake_handle_close_thread_exit',
-    'object_get_info',
-    'object_wait_many',
 )
 
 
diff --git a/system/public/zircon/syscalls.abigen b/system/public/zircon/syscalls.abigen
index 542ee26..59d8f12 100644
--- a/system/public/zircon/syscalls.abigen
+++ b/system/public/zircon/syscalls.abigen
@@ -238,7 +238,7 @@
 #! If topic is ZX_INFO_SOCKET, handle must be of type ZX_OBJ_TYPE_SOCKET and have ZX_RIGHT_INSPECT.
 syscall object_get_info
     (handle: zx_handle_t, topic: uint32_t, buffer: any[buffer_size] OUT, buffer_size: size_t)
-    returns (zx_status_t, actual_count: size_t optional, avail_count: size_t optional);
+    returns (zx_status_t, actual: size_t optional, avail: size_t optional);
 
 #^ Given a kernel object with children objects, obtain a handle to the child specified by the provided kernel object id.
 #! handle must have ZX_RIGHT_ENUMERATE.
