diff --git a/src/browser.c b/src/browser.c
index fb1225b975feb310a2bb99b768531f0ab1215660..3647b3018f75ce42a57cdfaec485982471c797b4 100644
--- a/src/browser.c
+++ b/src/browser.c
@@ -142,8 +142,8 @@ static void browse_draw_item(struct dir *n, int row) {
 
   x = 0;
 
-  mvprintw(row, x, "%c %8s ", ct, size);
-  x += 11;
+  mvprintw(row, x, "%c %9s ", ct, size);
+  x += 12;
 
   if (show_items) {
     if (n->items > 99999)
@@ -169,7 +169,7 @@ static void browse_draw_item(struct dir *n, int row) {
 
 void browse_draw() {
   struct dir *t;
-  char fmtsize[9], *tmp;
+  char fmtsize[10], *tmp;
   int selected = 0, i;
 
   erase();
diff --git a/src/util.c b/src/util.c
index 6be3e709f5ae7225cf0f4ed3910e980ad3e979df..56dd6c6d39521772898aed4bc15a6cac274727ab 100644
--- a/src/util.c
+++ b/src/util.c
@@ -58,7 +58,7 @@ char *cropstr(const char *from, int s) {
 
 
 char *formatsize(int64_t from) {
-  static char dat[9]; /* "xxx.xMiB" */
+  static char dat[10]; /* "xxx.x MiB" */
   float r = from;
   char c = ' ';
   if (si) {
@@ -69,7 +69,7 @@ char *formatsize(int64_t from) {
     else if(r < 1e15f){ c = 'T'; r/=1e12f; }
     else if(r < 1e18f){ c = 'P'; r/=1e15f; }
     else              { c = 'E'; r/=1e18f; }
-    sprintf(dat, "%5.1f%cB", r, c);
+    sprintf(dat, "%5.1f %cB", r, c);
   }
   else {
     if(r < 1000.0f)      { }
@@ -79,7 +79,7 @@ char *formatsize(int64_t from) {
     else if(r < 1023e12f){ c = 'T'; r/=1099511627776.0f; }
     else if(r < 1023e15f){ c = 'P'; r/=1125899906842624.0f; }
     else                 { c = 'E'; r/=1152921504606846976.0f; }
-    sprintf(dat, "%5.1f%c%cB", r, c, c == ' ' ? ' ' : 'i');
+    sprintf(dat, "%5.1f %c%cB", r, c, c == ' ' ? ' ' : 'i');
   }
   return dat;
 }