diff --git a/e2fsprogs/chattr.c b/e2fsprogs/chattr.c
index 618d8c4..4c34162 100644
--- a/e2fsprogs/chattr.c
+++ b/e2fsprogs/chattr.c
@@ -112,9 +112,9 @@
 static void change_attributes(const char * name)
 {
 	unsigned long fsflags;
-	STRUCT_STAT	st;
+	struct stat st;
 
-	if (LSTAT(name, &st) == -1) {
+	if (lstat(name, &st) == -1) {
 		bb_error_msg("stat %s failed", name);
 		return;
 	}
diff --git a/e2fsprogs/lsattr.c b/e2fsprogs/lsattr.c
index 1b7cf44..13d5acf 100644
--- a/e2fsprogs/lsattr.c
+++ b/e2fsprogs/lsattr.c
@@ -72,9 +72,9 @@
 
 static void lsattr_args(const char *name)
 {
-	STRUCT_STAT	st;
+	struct stat st;
 
-	if (LSTAT(name, &st) == -1) {
+	if (lstat(name, &st) == -1) {
 		bb_perror_msg("stating %s", name);
 	} else {
 		if (S_ISDIR(st.st_mode) && !(flags & OPT_DIRS_OPT))
@@ -87,12 +87,12 @@
 static int lsattr_dir_proc(const char *dir_name, struct dirent *de,
 			   void *private)
 {
-	STRUCT_STAT	st;
+	struct stat st;
 	char *path;
 
 	path = concat_path_file(dir_name, de->d_name);
 
-	if (LSTAT(path, &st) == -1)
+	if (lstat(path, &st) == -1)
 		bb_perror_msg(path);
 	else {
 		if (de->d_name[0] != '.' || (flags & OPT_ALL)) {
diff --git a/e2fsprogs/util.c b/e2fsprogs/util.c
index aaee50a..e68c457 100644
--- a/e2fsprogs/util.c
+++ b/e2fsprogs/util.c
@@ -33,12 +33,12 @@
 void check_plausibility(const char *device, int force)
 {
 	int val;
-	STRUCT_STAT s;
-	val = STAT(device, &s);
+	struct stat s;
+	val = stat(device, &s);
 	if (force)
 		return;
 	if(val == -1)
-		bb_perror_msg_and_die("Could not stat %s", device);
+		bb_perror_msg_and_die("cannot stat %s", device);
 	if (!S_ISBLK(s.st_mode)) {
 		printf("%s is not a block special device.\n", device);
 		proceed_question();
