diff --git a/lustre/utils/lfs.c b/lustre/utils/lfs.c
index e188b9471c92483eadd8bcb1427ad2a53277479c..fae0aadbf41beeaeca7132c546a17cc046f5a02a 100644
--- a/lustre/utils/lfs.c
+++ b/lustre/utils/lfs.c
@@ -724,8 +724,8 @@ static int showdf(char *mntdir, struct obd_statfs *stat,
                         int shift = cooked ? 0 : 10;
 
                         avail = (stat->os_bavail * stat->os_bsize) >> shift;
-                        used = stat->os_blocks - stat->os_bavail;
-                        used = (used * stat->os_bsize) >> shift;
+                        used  = ((stat->os_blocks - stat->os_bfree) *
+                                 stat->os_bsize) >> shift;
                         total = (stat->os_blocks * stat->os_bsize) >> shift;
                 }