diff --git a/.travis.yml b/.travis.yml
index 99906dac0b2e306d6012a91bf48b6b1350316842..58742b56c71021d8a5898a4b2b0ccf99a96f3cb8 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -32,6 +32,7 @@ notifications:
 before_script:
   - if [ -e ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini ]; then echo "extension = memcache.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi
   - if [ -e ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini ]; then echo "extension = redis.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi
+  - chmod a+x typo3/sysext/core/Build/Scripts/*
   - sudo apt-get install parallel
   - composer self-update
   - composer install
@@ -57,3 +58,7 @@ script:
             exit 99;
         fi
     "
+  - >
+    echo;
+    echo "Running XLF checker";
+    ./typo3/sysext/core/Build/Scripts/xlfcheck.sh
diff --git a/typo3/sysext/core/Build/Scripts/xlfcheck.sh b/typo3/sysext/core/Build/Scripts/xlfcheck.sh
new file mode 100644
index 0000000000000000000000000000000000000000..fd3c5ce77ae1a36bcdbe802735877dcf7f7ece04
--- /dev/null
+++ b/typo3/sysext/core/Build/Scripts/xlfcheck.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+#########################
+#
+# Find all t3:id numbers in XLF language files
+# and check their uniqueness.
+#
+# @author Markus Klein <klein.t3@reelworx.at>
+# @date 2014-11-14
+#
+##########################
+
+function join { local IFS="$1"; shift; echo "$*"; }
+
+find typo3 -name '*.xlf' > xlffiles.txt
+sed -ne 's/.*t3:id="\([0-9]\+\)".*/\1/pgM' `cat xlffiles.txt` | sort > xlfids.txt
+uniq xlfids.txt > uxlfids.txt
+XLFCNT=$(cat xlffiles.txt | wc -l)
+XLFIDCNT=$(cat xlfids.txt | wc -l)
+UXLFIDCNT=$(cat uxlfids.txt | wc -l)
+DIFFIDS=$(join , $(uniq -d xlfids.txt))
+MISSINGIDS=$(join , $(grep -LP 't3:id' `cat xlffiles.txt`))
+rm xlfids.txt uxlfids.txt xlffiles.txt
+if [ $XLFCNT -ne $XLFIDCNT ];
+then
+	echo "There is at least one XLF file missing a unique ID (t3:id)."
+	echo "Missing in: $MISSINGIDS"
+	exit 1
+fi
+if [ $XLFIDCNT -ne $UXLFIDCNT ];
+then
+	echo "There is an XLF id that does not seem to be UNIQUE."
+	echo "Search for t3:id $DIFFIDS"
+	exit 1
+fi
+exit 0