diff --git a/find/pred.c b/find/pred.c
index 3acfe9f..e6da63d 100644
--- a/find/pred.c
+++ b/find/pred.c
@@ -656,12 +656,21 @@ impl_pred_exec (const char *pathname,
        {
          result = false;
        }
+       if(execp->wd_for_exec)
+       {
+         close(execp->wd_for_exec->desc);
+       }
     }
   if (target != pathname)
     {
       assert (local);
       free (target);
     }
+  if(execp->wd_for_exec)
+  {
+    free(execp->wd_for_exec);
+    execp->wd_for_exec = NULL;
+  }
   return result;
 }
