diff --git a/.gitconfig b/.gitconfig
deleted file mode 100644
index 4cab7f2d97..0000000000
--- a/.gitconfig
+++ /dev/null
@@ -1,2 +0,0 @@
-[core]
-    whitespace = blank-at-eol,trailing-space,tab-in-indent
diff --git a/hooks/pre-commit b/hooks/pre-commit
index 44010fa1a0..bad84b14bd 100644
--- a/hooks/pre-commit
+++ b/hooks/pre-commit
@@ -1,23 +1,24 @@
 #!/bin/sh
 
-#check the config, in case the user really wants to allow tabs...
-allowtabs=$(git config hooks.allowtabs)
-if [ "$allowtabs" != "true" ] &&
-   git diff --cached | egrep '^\+.*	'
-then
-   cat<<END;
-Error: This commit would contain a tab, which is against this repo's policy.
-END
-  exit 1
-fi
+# Enforce citra's whitespace policy
+git config --local core.whitespace tab-in-indent,trailing-space
 
 # If there are whitespace errors, print the offending file names and fail.
-if
-# Use git built-in checks for trailing whitespaces
-    ! git diff --check --cached
-then
-   cat<<END;
-Error: This commit would contain trailing spaces, which is against this repo's policy.
+if ! git diff --cached --check; then
+    cat<<END;
+
+Error: This commit would contain trailing spaces or tabs, which is against this repo's policy.
+Please correct those issues before commiting. (Use 'git diff --check' for more details)
+If you know what you are doing, you can try 'git commit --no-verify' to bypass the check
 END
-  exit 1
+    exit 1
+fi
+
+# Check for tabs, since tab-in-indent catches only those at the beginning of a line
+if git diff --cached | egrep '^\+.*	'; then
+    cat<<END;
+Error: This commit would contain a tab, which is against this repo's policy.
+If you know what you are doing, you can try 'git commit --no-verify' to bypass the check.
+END
+    exit 1
 fi