diff --git a/powerline/bindings/zsh/__init__.py b/powerline/bindings/zsh/__init__.py
index 97429250..03373fd6 100644
--- a/powerline/bindings/zsh/__init__.py
+++ b/powerline/bindings/zsh/__init__.py
@@ -8,7 +8,7 @@ from weakref import WeakValueDictionary, ref
 import zsh
 
 from powerline.shell import ShellPowerline
-from powerline.lib.overrides import parsedotval
+from powerline.lib.overrides import parsedotval, parse_override_var
 from powerline.lib.unicode import unicode, u
 from powerline.lib.encoding import (get_preferred_output_encoding,
                                     get_preferred_environment_encoding)
@@ -25,7 +25,13 @@ def shutdown():
 
 def get_var_config(var):
 	try:
-		return mergeargs([parsedotval((u(k), u(v))) for k, v in zsh.getvalue(var).items()])
+		val = zsh.getvalue(var)
+		if isinstance(val, dict):
+			return mergeargs([parsedotval((u(k), u(v))) for k, v in val.items()])
+		elif isinstance(val, (unicode, str, bytes)):
+			return mergeargs(parse_override_var(u(val)))
+		else:
+			return None
 	except:
 		return None