diff --git a/src/items.rs b/src/items.rs
index fd0dd9d6a67c..1de56220cf43 100644
--- a/src/items.rs
+++ b/src/items.rs
@@ -1055,9 +1055,10 @@ pub fn rewrite_associated_type(ident: ast::Ident,
let type_bounds_str = if let Some(ty_param_bounds) = ty_param_bounds_opt {
let bounds: &[_] = &ty_param_bounds;
- let bound_str = bounds.iter()
- .filter_map(|ty_bound| ty_bound.rewrite(context, context.config.max_width, indent))
- .join(" + ");
+ let bound_str = try_opt!(bounds.iter()
+ .map(|ty_bound| ty_bound.rewrite(context, context.config.max_width, indent))
+ .intersperse(Some(" + ".to_string()))
+ .collect::