diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..a4cfcc73e553db6ddf92ad0fe1c8c645c8da2d4e
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+# LLVM/Clang is tracked independently
+llvm/
+
+# build tree, if building in-source
+build/
+
diff --git a/setup.sh b/setup.sh
index 044686b182fa0d1284d3a5cc23e687f4b8ac534c..87b2213fc7ee40b6ecefc9631aed0a486dea25a0 100755
--- a/setup.sh
+++ b/setup.sh
@@ -3,8 +3,9 @@
 # repos
 LLVM_GIT="http://llvm.org/git/llvm.git"
 CLANG_GIT="http://llvm.org/git/clang.git"
-EXTRA_GIT="http://llvm.org/git/clang-tools-extra.git"
-EXTRA_TACLE_GIT="git@gitlab.cs.fau.de:tacle/tacle-clang-tools-extra.git"
+# use clang-tools-extra repository from TACLe
+EXTRA_GIT="git@gitlab.cs.fau.de:tacle/tacle-clang-tools-extra.git"
+# EXTRA_GIT="http://llvm.org/git/clang-tools-extra.git"
 
 # branch/version
 VERSION="release_37"
@@ -13,7 +14,7 @@ VERSION="release_37"
 export BASE=`pwd`
 export LLVM_SRC="${BASE}/llvm"
 export CLANG_SRC="${LLVM_SRC}/tools/clang"
-export EXTRA_SRC="${LLVM_SRC}/tools/clang/tools"
+export EXTRA_SRC="${LLVM_SRC}/tools/clang/tools/extra"
 
 # build path
 export LLVM_BUILD="${BASE}/build"
@@ -29,7 +30,7 @@ fi
 # get clang
 if ! test -d ${CLANG_SRC}; then
   git clone ${CLANG_GIT} ${CLANG_SRC}
-  cd ${LLVM_SRC}
+  cd ${CLANG_SRC}
   git checkout ${VERSION}
   cd ${BASE}
 fi
@@ -37,6 +38,9 @@ fi
 # get clang's extras
 if ! test -d ${EXTRA_SRC}; then
   git clone ${EXTRA_GIT} ${EXTRA_SRC}
+  cd ${EXTRA_SRC}
+  git checkout ${VERSION}
+  cd ${BASE}
 fi