diff --git a/libc/arch-x86/string/rindex.S b/libc/arch-x86/string/rindex.S
deleted file mode 100644
index 0260d38..0000000
--- a/libc/arch-x86/string/rindex.S
+++ /dev/null
@@ -1,29 +0,0 @@
-/*	$OpenBSD: rindex.S,v 1.3 2005/08/07 11:30:38 espie Exp $ */
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- */
-
-#include <machine/asm.h>
-
-#ifdef STRRCHR
-ENTRY(strrchr)
-#else
-ENTRY(rindex)
-#endif
-	pushl	%ebx
-	movl	8(%esp),%edx
-	movb	12(%esp),%cl
-	xorl	%eax,%eax		/* init pointer to null */
-	.align 2,0x90
-L1:
-	movb	(%edx),%bl
-	cmpb	%bl,%cl
-	jne	L2
-	movl	%edx,%eax
-L2:
-	incl	%edx
-	testb	%bl,%bl			/* null terminator??? */
-	jnz	L1
-	popl	%ebx
-	ret
diff --git a/libc/arch-x86/string/strrchr.S b/libc/arch-x86/string/strrchr.S
deleted file mode 100644
index 4ee153f..0000000
--- a/libc/arch-x86/string/strrchr.S
+++ /dev/null
@@ -1,3 +0,0 @@
-/*	$OpenBSD: strrchr.S,v 1.3 2005/08/07 11:30:38 espie Exp $ */
-#define STRRCHR
-#include "rindex.S"
diff --git a/libc/include/string.h b/libc/include/string.h
index 70e0042..63e768e 100644
--- a/libc/include/string.h
+++ b/libc/include/string.h
@@ -45,7 +45,6 @@
 extern void   memswap(void *, void *, size_t);
 
 extern char*  index(const char *, int) __purefunc;
-extern char*  rindex(const char *, int) __purefunc;
 extern char*  strchr(const char *, int) __purefunc;
 extern char*  strrchr(const char *, int) __purefunc;
 
diff --git a/libc/include/strings.h b/libc/include/strings.h
index fbdcefc..0ee691d 100644
--- a/libc/include/strings.h
+++ b/libc/include/strings.h
@@ -47,7 +47,6 @@
 void	 bzero(void *, size_t);
 int	 ffs(int);
 char	*index(const char *, int);
-char	*rindex(const char *, int);
 int	 strcasecmp(const char *, const char *);
 int	 strncasecmp(const char *, const char *, size_t);
 
