diff --git a/e2fsprogs/e2p/feature.c b/e2fsprogs/e2p/feature.c
index 602c2ff..b45754f 100644
--- a/e2fsprogs/e2p/feature.c
+++ b/e2fsprogs/e2p/feature.c
@@ -155,7 +155,7 @@
 	unsigned int	mask;
 	int		compat_type;
 
-	buf = bb_xstrdup(str);
+	buf = xstrdup(str);
 	cp = buf;
 	while (cp && *cp) {
 		neg = 0;
diff --git a/e2fsprogs/e2p/mntopts.c b/e2fsprogs/e2p/mntopts.c
index 1ec3402..17c26c4 100644
--- a/e2fsprogs/e2p/mntopts.c
+++ b/e2fsprogs/e2p/mntopts.c
@@ -100,7 +100,7 @@
 	int	neg;
 	unsigned int	mask;
 
-	buf = bb_xstrdup(str);
+	buf = xstrdup(str);
 	cp = buf;
 	while (cp && *cp) {
 		neg = 0;
diff --git a/e2fsprogs/e2p/ostype.c b/e2fsprogs/e2p/ostype.c
index d55f98b..0e111d4 100644
--- a/e2fsprogs/e2p/ostype.c
+++ b/e2fsprogs/e2p/ostype.c
@@ -33,7 +33,7 @@
 	else
 		os = "(unknown os)";
 
-	ret = bb_xstrdup(os);
+	ret = xstrdup(os);
 	return ret;
 }
 
diff --git a/e2fsprogs/fsck.c b/e2fsprogs/fsck.c
index 3290d00..afb6f0c 100644
--- a/e2fsprogs/fsck.c
+++ b/e2fsprogs/fsck.c
@@ -129,7 +129,7 @@
 	int len;
 #endif
 
-	cp = str = bb_xstrdup(device);
+	cp = str = xstrdup(device);
 
 	/* Skip over /dev/; if it's not present, give up. */
 	if (strncmp(cp, "/dev/", 5) != 0)
@@ -544,7 +544,7 @@
   tpl = (strncmp(type, "fsck.", 5) ? "%s/fsck.%s" : "%s/%s");
 
   for(s = strtok(p, ":"); s; s = strtok(NULL, ":")) {
-	s = bb_xasprintf(tpl, s, type);
+	s = xasprintf(tpl, s, type);
 	if (stat(s, &st) == 0) break;
 	free(s);
   }
@@ -583,7 +583,7 @@
 		return ENOMEM;
 	memset(inst, 0, sizeof(struct fsck_instance));
 
-	prog = bb_xasprintf("fsck.%s", type);
+	prog = xasprintf("fsck.%s", type);
 	argv[0] = prog;
 	argc = 1;
 
diff --git a/e2fsprogs/mke2fs.c b/e2fsprogs/mke2fs.c
index f1e4083..ea6afb9 100644
--- a/e2fsprogs/mke2fs.c
+++ b/e2fsprogs/mke2fs.c
@@ -226,7 +226,7 @@
 	FILE		*f;
 	errcode_t	retval;
 
-	f = bb_xfopen(bad_blocks_file, "r");
+	f = xfopen(bad_blocks_file, "r");
 	retval = ext2fs_read_bb_FILE(fs, f, bb_list, invalid_block);
 	fclose (f);
 	mke2fs_error_msg_and_die(retval, "read bad blocks from list");
@@ -692,7 +692,7 @@
 	char	*buf, *token, *next, *p, *arg;
 	int	r_usage = 0;
 
-	buf = bb_xstrdup(opts);
+	buf = xstrdup(opts);
 	for (token = buf; token && *token; token = next) {
 		p = strchr(token, ',');
 		next = 0;
diff --git a/e2fsprogs/util.c b/e2fsprogs/util.c
index 6b72d0e..113ef9c 100644
--- a/e2fsprogs/util.c
+++ b/e2fsprogs/util.c
@@ -111,7 +111,7 @@
 {
 	char *buf, *token, *next, *p, *arg;
 	int journal_usage = 0;
-	buf = bb_xstrdup(opts);
+	buf = xstrdup(opts);
 	for (token = buf; token && *token; token = next) {
 		p = strchr(token, ',');
 		next = 0;
@@ -264,7 +264,7 @@
 	/* Update our PATH to include /sbin  */
 #define PATH_SET "/sbin"
 	if (oldpath)
-		oldpath = bb_xasprintf("%s:%s", PATH_SET, oldpath);
+		oldpath = xasprintf("%s:%s", PATH_SET, oldpath);
 	 else
 		oldpath = PATH_SET;
 	putenv (oldpath);
