diff --git a/capsule/capsule-dlmopen.c b/capsule/capsule-dlmopen.c
index 64263ca031bef0be065df8f6e41998cd5e5e3d6e..eff7877a59eb54d3942921f1458e1744bb43d348 100644
--- a/capsule/capsule-dlmopen.c
+++ b/capsule/capsule-dlmopen.c
@@ -82,7 +82,7 @@ static void
 wrap (const char *name,
       ElfW(Addr) base,
       ElfW(Dyn) *dyn,
-      capsule_item_t *wrappers)
+      capsule_item *wrappers)
 {
     int mmap_errno = 0;
     char *mmap_error = NULL;
@@ -172,7 +172,7 @@ excluded_from_wrap (const char *name, char **exclude)
 // strictly speaking we can wrap things other than dlopen(),
 // but that's currently all we use this for:
 static int install_wrappers ( void *dl_handle,
-                              capsule_item_t *wrappers,
+                              capsule_item *wrappers,
                               const char **exclude,
                               int *errcode,
                               char **error)
@@ -245,7 +245,7 @@ void *
 capsule_dlmopen (const char *dso,
                  const char *prefix,
                  Lmid_t *namespace,
-                 capsule_item_t *wrappers,
+                 capsule_item *wrappers,
                  unsigned long dbg,
                  const char **exclude,
                  int *errcode,
diff --git a/capsule/capsule-relocate.c b/capsule/capsule-relocate.c
index de4afb6cb4db13d67b88a3bd4b249868900cd67a..f611674deb096f97b85ed99c036e21f4b34d3283 100644
--- a/capsule/capsule-relocate.c
+++ b/capsule/capsule-relocate.c
@@ -80,11 +80,11 @@ relocate_cb (struct dl_phdr_info *info, size_t size, void *data)
 int capsule_relocate (const char *target,
                       void *source,
                       unsigned long dbg,
-                      capsule_item_t *relocations,
+                      capsule_item *relocations,
                       char **error)
 {
     relocation_data_t rdata = { 0 };
-    capsule_item_t *map;
+    capsule_item *map;
     int mmap_errno = 0;
     char *mmap_error = NULL;
     int rval = 0;
diff --git a/capsule/capsule.h b/capsule/capsule.h
index 0e768857cc1be3a45568d7a315b988d88ce3853d..b49f27ed62245772e27ca8f58a77be7064b97204 100644
--- a/capsule/capsule.h
+++ b/capsule/capsule.h
@@ -20,7 +20,7 @@
 #include <link.h>
 
 /**
- * capsule_item_t:
+ * capsule_item:
  * @name: The name of the symbol to be relocated
  * @shim: address of the ‘fake’ symbol in the proxy library
  * @real: address of the ‘real’ symbol in the target library
@@ -34,12 +34,14 @@
  * capsule… call. While this is sometimes important internally it is
  * not usually of interest to the caller (except maybe for debugging)
  */
-typedef struct
+typedef struct _capsule_item capsule_item;
+
+struct _capsule_item
 {
     const char *name;
     ElfW(Addr) shim;
     ElfW(Addr) real;
-} capsule_item_t;
+};
 
 /**
  * capsule_init:
@@ -55,7 +57,7 @@ void capsule_init (void);
  * @target: The DSO from which to export symbols (currently unused)
  * @source: The dl handle from which to export symbols
  * @debug: Internal debug flag. Pass 0 here.
- * @relocations: Array of capsule_item_t specifying which symbols to export
+ * @relocations: Array of capsule_item specifying which symbols to export
  * @error: location in which to store an error string on failure
  *
  * Returns: 0 on success, non-zero on failure.
@@ -63,7 +65,7 @@ void capsule_init (void);
  * @source is typically the value returned by a successful capsule_dlmopen()
  * call (although a handle returned by dlmopen() would also be reasonable).
  *
- * The #capsule_item_t entries in @relocations need only specify the symbol
+ * The #capsule_item entries in @relocations need only specify the symbol
  * name: The shim and real fields will be populated automatically if they
  * are not pre-filled (this is the normal use case, as it would be unusual
  * to know these value in advance).
@@ -74,7 +76,7 @@ void capsule_init (void);
 int capsule_relocate (const char *target,
                       void *source,
                       unsigned long debug,
-                      capsule_item_t *relocations,
+                      capsule_item *relocations,
                       char **error);
 
 /**
@@ -82,7 +84,7 @@ int capsule_relocate (const char *target,
  * @dso: The name of the DSO to open (cf dlopen()) - eg libGL.so.1
  * @prefix: The location of the foreign tree in which @dso should be found
  * @namespace: Address of an #Lmid_t value (usually %LM_ID_NEWLM)
- * @wrappers: Array of #capsule_item_t used to replace symbols in the namespace
+ * @wrappers: Array of #capsule_item used to replace symbols in the namespace
  * @debug: Internal debug flags. Pass 0 here.
  * @exclude: an array of char *, each specfying a DSO not to load
  * @errcode: location in which to store the error code on failure
@@ -117,7 +119,7 @@ int capsule_relocate (const char *target,
 void *capsule_dlmopen (const char *dso,
                        const char *prefix,
                        Lmid_t *namespace,
-                       capsule_item_t *wrappers,
+                       capsule_item *wrappers,
                        unsigned long debug,
                        const char **exclude,
                        int *errcode,
diff --git a/data/capsule-mkstublib b/data/capsule-mkstublib
index 1d5123620b6fe88edc926f64b5e630376fa64fc3..b950b6c44ccd7a2b92b2f68f276c008b2d942dc1 100755
--- a/data/capsule-mkstublib
+++ b/data/capsule-mkstublib
@@ -128,7 +128,7 @@ static void __attribute__ ((constructor)) _capsule_init (void)
     char *capsule_error = NULL;
 
     // this is an array of the functions we want to act as a shim for:
-    capsule_item_t relocs[] =
+    capsule_item relocs[] =
       {
 EOF
 
@@ -144,7 +144,7 @@ cat - <<EOF
     // NOTE: the shim address here isn't used, but we give it the same
     // value as the real function address so it's never accidentally
     // a value the capsule code will care about:
-    capsule_item_t wrappers[] =
+    capsule_item wrappers[] =
       {
         { "dlopen", (ElfW(Addr)) _dlopen, (ElfW(Addr)) _dlopen },
         { NULL }
diff --git a/utils/process-pt-dynamic.c b/utils/process-pt-dynamic.c
index c84280848958ebb0c0382527ab2164340de1eca7..528b4e8d26639eb365ec8c331a91353cece3de10 100644
--- a/utils/process-pt-dynamic.c
+++ b/utils/process-pt-dynamic.c
@@ -132,7 +132,7 @@ find_symbol (int idx, const ElfW(Sym) *stab, const char *str, char **name)
 int
 try_relocation (ElfW(Addr) *reloc_addr, const char *name, void *data)
 {
-    capsule_item_t *map;
+    capsule_item *map;
     relocation_data_t *rdata = data;
 
     if( !name || !*name || !reloc_addr )
diff --git a/utils/process-pt-dynamic.h b/utils/process-pt-dynamic.h
index 033d980167eb83fd28d06a143d9b42c56a26f21c..aa0bc50f66364f25bf62c3101cf0a85be5d46701 100644
--- a/utils/process-pt-dynamic.h
+++ b/utils/process-pt-dynamic.h
@@ -31,7 +31,7 @@
 typedef struct
 {
     const char *target; // name of shim DSO to have its symbols relocated
-    capsule_item_t *relocs;
+    capsule_item *relocs;
     struct { int success; int failure; } count;
     int debug;
     char *error;