diff --git a/src/files.c b/src/files.c
index 0323d83251b596d52f291ed0282409f6603c9879..d2b6ff00743ecd1f7c697770485ec0292af1e77c 100644
--- a/src/files.c
+++ b/src/files.c
@@ -916,7 +916,9 @@ char *get_full_path(const char *origpath)
     d_here = getcwd(d_here, PATH_MAX + 1);
 
     while (d_here == NULL) {
-	chdir("..");
+	if (chdir("..") == -1)
+	    break;
+
 	d_here = getcwd(d_here, PATH_MAX + 1);
     }