diff --git a/lib/l20n/resolver.js b/lib/l20n/resolver.js
index <HASH>..<HASH> 100644
--- a/lib/l20n/resolver.js
+++ b/lib/l20n/resolver.js
@@ -162,9 +162,10 @@ function interpolate(ctxdata, env, arr) {
 }
 
 function resolveSelector(ctxdata, env, expr, index) {
-    var selector = resolveIdentifier(ctxdata, env, index[0].v);
+    var selectorName = index[0].v;
+    var selector = resolveIdentifier(ctxdata, env, selectorName);
     if (selector === undefined) {
-      throw new L10nError('Unknown selector: ' + index[0].v);
+      throw new L10nError('Unknown selector: ' + selectorName);
     }
 
     if (typeof selector !== 'function') {
@@ -174,7 +175,7 @@ function resolveSelector(ctxdata, env, expr, index) {
 
     var argLength = index.length - 1;
     if (selector.length !== argLength) {
-      throw new L10nError('Macro ' + index[0] + ' expects ' +
+      throw new L10nError('Macro ' + selectorName + ' expects ' +
                           selector.length + ' argument(s), yet ' + argLength +
                           ' given');
     }
Bug <I> - Use selector name in resolver's error message. r=gandalf