diff --git a/src/calc.c b/src/calc.c
index ddb0a1505d9f0bbe7cded1f0c04f20f58de0086e..c12a77a132019460873aa8cdf3daac4ec573c347 100644
--- a/src/calc.c
+++ b/src/calc.c
@@ -275,6 +275,16 @@ int calcDir(struct dir *dest, char *path) {
     d->name = malloc(strlen(f)+1);
     strcpy(d->name, f);
 
+#ifdef __CYGWIN__
+   /* /proc/registry names may contain slashes */
+    if(strchr(d->name, '/') || strchr(d->name,  '\\')) {
+      serr = 1;
+      errno = 0;
+      d->flags |= FF_ERR;
+      continue;
+    }
+#endif
+
    /* get full path */
     strcpy(tmp, path);
     strcat(tmp, f);