diff --git a/ChangeLog b/ChangeLog
index 26ce6f4e8ad7a810890d88b4334b9907e1ea1281..2e877402b8575d234f57099daf02db25d4731be2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,7 @@ svn - ?
 	- Current directory is assumed when no directory is specified
 	- Size graph uses the apparent size if that is displayed
 	- Items are ordered by displayed size rather than disk usage
+	- Fixed rpath() bug on '/.'
 
 1.4 - 2008-09-10
 	- Removed the startup window
diff --git a/src/calc.c b/src/calc.c
index 325b2264f8ca8378595872d7a5bb858a3dc077f6..b06c6ba55c89a0cce8c3610b002eb79ee56d6740 100644
--- a/src/calc.c
+++ b/src/calc.c
@@ -101,6 +101,11 @@ char *rpath(const char *from, char *to) {
       break;
   }
   to[j+1] = 0;
+ /* make sure we do have something left in case our path is / */
+  if(to[0] == 0) {
+    to[0] = '/';
+    to[1] = 0;
+  }
  /* append 'app' */
   if(app[0] != 0)
     strcat(to, app);