diff --git a/src/browser.c b/src/browser.c
index e596d2bc3278f69dd41cdf378730f5bc08a71e2c..76c3ebdd8a582db16f9e42e18d8afd6f00157625 100644
--- a/src/browser.c
+++ b/src/browser.c
@@ -131,7 +131,7 @@ struct dir *browse_sort(struct dir *list) {
 
 void browse_draw_info(struct dir *dr) {
   struct dir *t;
-  int i,j;
+  int i;
 
   nccreate(11, 60, "Item info");
 
diff --git a/src/calc.c b/src/calc.c
index 5af2437ad07e15424ac02cfbdcb1e1fca459dd10..8e8209b26b516ab0e5a150c34a0a31b2e599973a 100644
--- a/src/calc.c
+++ b/src/calc.c
@@ -452,8 +452,10 @@ int calc_process() {
     free(name);
   free(path);
 
-  if(links != NULL)
+  if(links != NULL) {
     free(links);
+    links = NULL;
+  }
 
   /* success */
   if(!n && !failed) {
diff --git a/src/path.c b/src/path.c
index 6531d63bc603c504b04d58b8f70e33091258fd34..24243d611835414d9605f74109f8aa8393be48bf 100644
--- a/src/path.c
+++ b/src/path.c
@@ -31,7 +31,6 @@
 #include <errno.h>
 #include <unistd.h>
 #include <limits.h>
-#include <dirent.h>
 
 #ifndef LINK_MAX
 # ifdef _POSIX_LINK_MAX