diff --git a/src/comp/front/parser.rs b/src/comp/front/parser.rs
index 12a73e48cbf..2db3fde13ef 100644
--- a/src/comp/front/parser.rs
+++ b/src/comp/front/parser.rs
@@ -955,6 +955,9 @@ fn parse_syntax_ext(&parser p) -> @ast::expr {
 
 fn parse_syntax_ext_naked(&parser p, uint lo) -> @ast::expr {
     auto pth = parse_path(p);
+    if (vec::len(pth.node.idents) == 0u) {
+        p.fatal("expected a syntax expander name");
+    }
     auto es = parse_seq(token::LPAREN, token::RPAREN,
                         some(token::COMMA), parse_expr, p);
     auto hi = es.span.hi;
diff --git a/src/test/compile-fail/ext-noname.rs b/src/test/compile-fail/ext-noname.rs
new file mode 100644
index 00000000000..82395c710a8
--- /dev/null
+++ b/src/test/compile-fail/ext-noname.rs
@@ -0,0 +1,5 @@
+// error-pattern:expected a syntax expander name
+
+fn main() {
+  #();
+}
\ No newline at end of file