diff --git a/cmd/utils/diskusage.go b/cmd/utils/diskusage.go
index a822118a39a151cc246eef566f76cb1daa0582c5..da696de6bf923c52b3ea0982f41613f91f2b5a18 100644
--- a/cmd/utils/diskusage.go
+++ b/cmd/utils/diskusage.go
@@ -31,5 +31,12 @@ func getFreeDiskSpace(path string) (uint64, error) {
 	}
 
 	// Available blocks * size per block = available space in bytes
-	return stat.Bavail * uint64(stat.Bsize), nil
+	var bavail = stat.Bavail
+	if stat.Bavail < 0 {
+		// FreeBSD can have a negative number of blocks available
+		// because of the grace limit.
+		bavail = 0
+	}
+	//nolint:unconvert
+	return uint64(bavail) * uint64(stat.Bsize), nil
 }