diff --git a/e2fsprogs/blkid/blkid.h b/e2fsprogs/blkid/blkid.h
index 979565e..54721b2 100644
--- a/e2fsprogs/blkid/blkid.h
+++ b/e2fsprogs/blkid/blkid.h
@@ -98,11 +98,6 @@
 extern int blkid_parse_tag_string(const char *token, char **ret_type,
 				  char **ret_val);
 
-/* version.c */
-extern int blkid_parse_version_string(const char *ver_string);
-extern int blkid_get_library_version(const char **ver_string,
-				     const char **date_string);
-
 #ifdef __cplusplus
 }
 #endif
diff --git a/e2fsprogs/blkid/version.c b/e2fsprogs/blkid/version.c
deleted file mode 100644
index d076de0..0000000
--- a/e2fsprogs/blkid/version.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* vi: set sw=4 ts=4: */
-/*
- * version.c --- Return the version of the blkid library
- *
- * Copyright (C) 2004 Theodore Ts'o.
- *
- * %Begin-Header%
- * This file may be redistributed under the terms of the GNU Public
- * License.
- * %End-Header%
- */
-
-#if HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <string.h>
-#include <stdio.h>
-#include <ctype.h>
-
-#include "blkid.h"
-
-static const char *lib_version = E2FSPROGS_VERSION;
-static const char *lib_date = E2FSPROGS_DATE;
-
-int blkid_parse_version_string(const char *ver_string)
-{
-	const char *cp;
-	int version = 0;
-
-	for (cp = ver_string; *cp; cp++) {
-		if (*cp == '.')
-			continue;
-		if (!isdigit(*cp))
-			break;
-		version = (version * 10) + (*cp - '0');
-	}
-	return version;
-}
-
-int blkid_get_library_version(const char **ver_string,
-			       const char **date_string)
-{
-	if (ver_string)
-		*ver_string = lib_version;
-	if (date_string)
-		*date_string = lib_date;
-
-	return blkid_parse_version_string(lib_version);
-}
