diff --git a/src/calc.c b/src/calc.c
index bddab07f4e4f2ecfc0f7d16db4954dfe7687b089..32d659d9d56ba32ae996bff51bd0e89d66782244 100644
--- a/src/calc.c
+++ b/src/calc.c
@@ -61,6 +61,8 @@
 #endif
 
 
+int calc_delay;
+
 struct {
   char err;                /* 1/0, error or not */
   char cur[PATH_MAX];      /* current dir/item */
@@ -336,7 +338,7 @@ void calc_draw_progress() {
   }
 
   /* animation - but only if the screen refreshes more than or once every second */
-  if(sdelay <= 1000) {
+  if(calc_delay <= 1000) {
     if(++stcalc.anpos == 28)
        stcalc.anpos = 0;
     strcpy(ani, "              ");
@@ -375,7 +377,7 @@ int calc_draw() {
 
   /* should we really draw the screen again? */
   gettimeofday(&tv, (void *)NULL);
-  tv.tv_usec = (1000*(tv.tv_sec % 1000) + (tv.tv_usec / 1000)) / sdelay;
+  tv.tv_usec = (1000*(tv.tv_sec % 1000) + (tv.tv_usec / 1000)) / calc_delay;
   if(stcalc.lastupdate != tv.tv_usec) {
     calc_draw_progress();
     stcalc.lastupdate = tv.tv_usec;
diff --git a/src/calc.h b/src/calc.h
index fc28dafe8655a6bd4d3e4c8c9e0feb9fb69726fb..745b165089dfd4f6d30ced56ebb8a4361ea8ad98 100644
--- a/src/calc.h
+++ b/src/calc.h
@@ -28,6 +28,8 @@
 
 #include "ncdu.h"
 
+extern int calc_delay;  /* minimum screen update interval when calculating, in ms */
+
 void calc_process(void);
 int  calc_key(int);
 int  calc_draw(void);
diff --git a/src/main.c b/src/main.c
index dd6eb99bfcc144ec003e87ebb0fd5d6b4bf12b4d..a9ba2dc87a2270d2971564ad3aedfc37dffed8ee 100644
--- a/src/main.c
+++ b/src/main.c
@@ -35,7 +35,7 @@
 
 #include <unistd.h>
 
-int sflags, sdelay;
+int sflags;
 int pstate;
 
 
@@ -80,7 +80,7 @@ void argv_parse(int argc, char **argv, char *dir) {
   memset(dir, 0, PATH_MAX);
   getcwd(dir, PATH_MAX);
   sflags = 0;
-  sdelay = 100;
+  calc_delay = 100;
 
  /* read from commandline */
   for(i=1; i<argc; i++) {
@@ -105,7 +105,7 @@ void argv_parse(int argc, char **argv, char *dir) {
       for(j=1; j<len; j++)
         switch(argv[i][j]) {
           case 'x': sflags |= SF_SMFS; break;
-          case 'q': sdelay = 2000;     break;
+          case 'q': calc_delay = 2000;     break;
           case '?':
           case 'h':
             printf("ncdu [-hqvx] [--exclude PATTERN] [-X FILE] directory\n\n");
diff --git a/src/ncdu.h b/src/ncdu.h
index 2a3052d4aa1c8926c839f5131613468aa13f2444..111345743bf3f56abf2ad21a07adb7321584831f 100644
--- a/src/ncdu.h
+++ b/src/ncdu.h
@@ -83,7 +83,7 @@ struct dir {
 }; 
 
 /* global settings */
-extern int sflags, sdelay;
+extern int sflags;
 
 /* program state */
 extern int pstate;