diff --git a/kicad-git-setup b/kicad-git-setup
index 979805f9dcdfaf1b46569efd46eb3e6986116752..4db7bc1458975657e1651e08179a0c0ac04bcd33 100755
--- a/kicad-git-setup
+++ b/kicad-git-setup
@@ -2,29 +2,24 @@
 
 shopt -s  nullglob
 
-kicad-sch-filter() {
-    cat $(realpath $(dirname $0)/kicad-sch-filter)
-}
-
-kicad-pro-filter() {
-    cat $(realpath $(dirname $0)/kicad-pro-filter)
-}
-
 mkdir -p ~/.config/git
 for s in kicad-pro-filter kicad-sch-filter ; do
-    if ! declare -f -F $s > /dev/null ; then
-        echo "${s} not defined"
-        continue
+    FILTER=$(realpath $(dirname $0)/kicad-sch-filter)
+    if [ -L  ~/.config/git/${s} ] ; then
+        if [ $(readlink ~/.config/git/${s}) != ${FILTER} ] ; then
+            echo REPLACE link
+            rm ~/.config/git/${s}
+        fi
+    elif [ -f ~/.config/git/${s} ] ; then
+        if diff -q <($s) <(cat ~/.config/git/${s}) ; then
+            echo REPLACE file
+            rm ~/.config/git/${s}
+        fi
     fi
-    if [ ! -f ~/.config/git/${s} ] ; then
-        echo "Creating ~/.config/git/${s}"
-        cat <($s) > ~/.config/git/${s}
-        chmod +x ~/.config/git/${s}
-    elif ! diff <($s) <(cat ~/.config/git/${s}) > /dev/null ; then
-        echo "Updating ~/.config/git/${s}"
-        cat <($s) > ~/.config/git/${s}
-        chmod +x ~/.config/git/${s}
+    if [ ! -L ~/.config/git/${s} ] ; then
+        ln -s $FILTER ~/.config/git/${s}
     fi
+
 done
 
 SCHEMATICS=( *.sch )
@@ -52,7 +47,7 @@ for s in ${PROJECT[@]} ; do
     if [[ "$s" =~ (.*)\.pro ]] ; then
         BASE=${BASH_REMATCH[1]}
         # Autoroute files
-        # GITIGNORE+=( ${BASE}.bin ${BASE}.dsn ${BASE}.ses )
+        GITIGNORE+=( ${BASE}.bin ${BASE}.dsn ${BASE}.ses )
         # Other stuff
         GITIGNORE+=( ${BASE}-rescue.lib )
     fi
@@ -78,6 +73,7 @@ for a in "${GITATTRIBUTES[@]}" ; do
         echo "${a}" >> .gitattributes
     fi
 done
+
 FILTER=( "filter.kicad-pro.clean ~/.config/git/kicad-pro-filter clean %f" )
 FILTER+=( "filter.kicad-pro.smudge  ~/.config/git/kicad-pro-filter smudge %f" )
 FILTER+=( "filter.kicad-sch.clean ~/.config/git/kicad-sch-filter clean %f" )