diff --git a/NEWS b/NEWS
index 84aa66a2eee10b936fed706da7dd2452a7b6c673..0953941a64c9b44f1e9159cf0a606977919da480 100644
--- a/NEWS
+++ b/NEWS
@@ -18,6 +18,8 @@ Bug fixes
 * scale_date and scale_date_time now work with infinite positions
 * scale_date and scale_date_time now take expand argument
 * scales were not getting automatically added in many situations (Fixes #69)
+* scale_manual was not returning labels in the correct format and so legends
+  were not getting merged correctly
 * stat_contour: fix error if x or y coordinates were negative
 * stat_bin: now copes with bars of zero height (Fixes #72)
 * stat_qq: always use sorted data (rather than interpolated quantiles) on sample axis.  This makes it behave more like qqnorm
diff --git a/R/scale-manual.r b/R/scale-manual.r
index 7f6a96168340066487cddcc45df67b6c4a513b70..bd7799de71d969e31d6be2c3bb594399c496bc15 100644
--- a/R/scale-manual.r
+++ b/R/scale-manual.r
@@ -33,7 +33,7 @@ ScaleManual <- proto(ScaleDiscrete, {
 
   output_set <- function(.) .$values
   labels <- function(.) {
-    .$.labels %||% .$input_breaks()
+    as.list(.$.labels %||% .$input_breaks())
   }
 
   # Documentation -----------------------------------------------