diff --git a/functions b/functions
index e17e46e..364bbb2 100644
--- a/functions
+++ b/functions
@@ -437,6 +437,11 @@ add_file() {
         return 1
     fi
 
+    if [[ -L "$dest" ]]; then
+        error "destination is a symbolic link: \`%s'" "$dest"
+        exit 1
+    fi
+
     mode=${3:-$(stat -c %a "$src")}
     if [[ -z $mode ]]; then
         error "failed to stat file: \`%s'." "$src"
