diff --git a/lib/completion.zsh b/lib/completion.zsh
index 795903d0d..68ca3b4c1 100644
--- a/lib/completion.zsh
+++ b/lib/completion.zsh
@@ -14,7 +14,12 @@ compinit
 zmodload -i zsh/complist
 
 ## case-insensitive (all),partial-word and then substring completion
-zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
+if [ "x$CASE_SENSITIVE" = "xtrue" ]; then
+  zstyle ':completion:*' matcher-list 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
+  unset CASE_SENSITIVE
+else
+  zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
+fi
 
 zstyle ':completion:*' list-colors ''
 zstyle ':completion:*' hosts $( sed 's/[, ].*$//' $HOME/.ssh/known_hosts )
@@ -37,4 +42,4 @@ zstyle ':completion:*:*:(ssh|scp):*:*' hosts `sed 's/^\([^ ,]*\).*$/\1/' ~/.ssh/
 # zstyle ':completion:*:history-words' stop yes
 # zstyle ':completion:*:history-words' remove-all-dups yes
 # zstyle ':completion:*:history-words' list false
-# zstyle ':completion:*:history-words' menu yes
\ No newline at end of file
+# zstyle ':completion:*:history-words' menu yes
diff --git a/templates/zshrc.zsh-template b/templates/zshrc.zsh-template
index 787dc3d09..7c43303bd 100644
--- a/templates/zshrc.zsh-template
+++ b/templates/zshrc.zsh-template
@@ -5,6 +5,9 @@ export ZSH=$HOME/.oh-my-zsh
 # Look in ~/.oh-my-zsh/themes/
 export ZSH_THEME="robbyrussell"
 
+# Set to this to use case-sensitive completion
+# export CASE_SENSITIVE="true"
+
 # Comment this out to disable weekly auto-update checks
 # export DISABLE_AUTO_UPDATE="false"