diff --git a/lib/parser/index.js b/lib/parser/index.js
index <HASH>..<HASH> 100644
--- a/lib/parser/index.js
+++ b/lib/parser/index.js
@@ -795,13 +795,37 @@ function getComment() {
     return [getInfo(pos++), NodeType.CommentType, value.substring(2, len)];
 }
 
+// special reader for units to avoid adjoined IE hacks (i.e. '1px\9')
+function readUnit() {
+    if (pos < tokens.length && tokens[pos].type === TokenType.Identifier) {
+        var unit = tokens[pos].value;
+        var backSlashPos = unit.indexOf('\\');
+
+        // no backslash in unit name
+        if (backSlashPos === -1) {
+            pos++;
+            return unit;
+        }
+
+        // patch token
+        tokens[pos].value = unit.substr(backSlashPos);
+        tokens[pos].offset += backSlashPos;
+        tokens[pos].column += backSlashPos;
+
+        // return unit w/o backslash part
+        return unit.substr(0, backSlashPos);
+    }
+
+    parseError('Identifier is expected');
+}
+
 // number ident
 function getDimension(startPos, number) {
     return [
         getInfo(startPos || pos),
         NodeType.DimensionType,
         number || getNumber(),
-        getIdentifier()
+        [getInfo(pos), NodeType.IdentType, readUnit()]
     ];
 }
avoid adjoined IE hacks for dimensions on parsing