diff --git a/src/browser.c b/src/browser.c
index 4a39db3b5dcddc2f41f14ef626ccc3cde10b6800..5c0229da8239670891b06fdbc807b1d34dc2849b 100644
--- a/src/browser.c
+++ b/src/browser.c
@@ -135,7 +135,7 @@ char *graph(off_t max, off_t size) {
 
 
 #define exlhid(x) if(bflags & BF_HIDE && (\
-    (!(x->flags & FF_PAR) && (x->name[0] == '.' || x->name[strlen(x->name)-1] == '~'))\
+    (x != &ref && (x->name[0] == '.' || x->name[strlen(x->name)-1] == '~'))\
     || x->flags & FF_EXL)\
   ) { i--; continue; }
 
@@ -183,7 +183,6 @@ void drawBrowser(int change) {
  /* add reference to parent dir */
   memset(&ref, 0, sizeof(struct dir));
   if(bcur->parent->parent) {
-    ref.flags |= FF_PAR;
     ref.name = "..";
     ref.next = bcur;
     ref.parent = bcur->parent;
@@ -242,7 +241,7 @@ void drawBrowser(int change) {
       attron(A_REVERSE);
 
    /* reference to parent dir has a different format */
-    if(n->flags & FF_PAR) {
+    if(n == &ref) {
       mvhline(i+2, 0, ' ', wincols);
       o = bgraph == 0 ? 11 :
           bgraph == 1 ? 23 :
diff --git a/src/ncdu.h b/src/ncdu.h
index e6a06c7abfbe6a44e2f2d17d93fdc147f9c1c293..a3ca9591bec70d73642656eb63e7ef4724c0a5e4 100644
--- a/src/ncdu.h
+++ b/src/ncdu.h
@@ -98,7 +98,6 @@
 #define FF_EXL    0x10 /* excluded using exlude patterns */
 #define FF_SERR   0x20 /* error in subdirectory */
 #define FF_BSEL   0x40 /* selected */
-#define FF_PAR    0x80 /* reference to parent directory (hack - only used in browser.c) */
 
 /* Settings Flags (int sflags) */
 #define SF_SMFS   0x01 /* same filesystem */