diff --git a/src/librustc/middle/astconv_util.rs b/src/librustc/middle/astconv_util.rs
index e856eb84ff2..487f2d17cd9 100644
--- a/src/librustc/middle/astconv_util.rs
+++ b/src/librustc/middle/astconv_util.rs
@@ -29,8 +29,11 @@ impl<'a, 'gcx, 'tcx> TyCtxt<'a, 'gcx, 'tcx> {
                 break;
             }
             for lifetime in segment.parameters.lifetimes() {
-                span_err!(self.sess, lifetime.span, E0110,
-                          "lifetime parameters are not allowed on this type");
+                struct_span_err!(self.sess, lifetime.span, E0110,
+                                 "lifetime parameters are not allowed on this type")
+                    .span_label(lifetime.span,
+                                &format!("lifetime parameter not allowed on this type"))
+                    .emit();
                 break;
             }
             for binding in segment.parameters.bindings() {
diff --git a/src/test/compile-fail/E0110.rs b/src/test/compile-fail/E0110.rs
index fd169f4acc5..5a9e7a43de9 100644
--- a/src/test/compile-fail/E0110.rs
+++ b/src/test/compile-fail/E0110.rs
@@ -9,6 +9,7 @@
 // except according to those terms.
 
 type X = u32<'static>; //~ ERROR E0110
+                       //~| NOTE lifetime parameter not allowed on this type
 
 fn main() {
 }