diff --git a/decode_test.go b/decode_test.go
index 89a9fdb..bac544b 100644
--- a/decode_test.go
+++ b/decode_test.go
@@ -300,7 +300,7 @@
 		&struct{ B []int }{[]int{1, 2}},
 	},
 
-	// BUG #1133337
+	// Bug #1133337
 	{
 		"foo: ''",
 		map[string]*string{"foo": new(string)},
@@ -317,22 +317,46 @@
 			B int "-"
 		}{1, 0},
 	},
+
+	// Bug #1191981
+	{
+		"" +
+			"%YAML 1.1\n" +
+			"--- !!str\n" +
+			`"Generic line break (no glyph)\n\` + "\n" +
+			` Generic line break (glyphed)\n\` + "\n" +
+			` Line separator\u2028\` + "\n" +
+			` Paragraph separator\u2029"` + "\n",
+		"" +
+			"Generic line break (no glyph)\n" +
+			"Generic line break (glyphed)\n" +
+			"Line separator\u2028Paragraph separator\u2029",
+	},
 }
 
 func (s *S) TestUnmarshal(c *C) {
 	for i, item := range unmarshalTests {
 		t := reflect.ValueOf(item.value).Type()
 		var value interface{}
-		if t.Kind() == reflect.Map {
+		switch t.Kind() {
+		case reflect.Map:
 			value = reflect.MakeMap(t).Interface()
-		} else {
+		case reflect.String:
+			t := reflect.ValueOf(item.value).Type()
+			v := reflect.New(t)
+			value = v.Interface()
+		default:
 			pt := reflect.ValueOf(item.value).Type()
 			pv := reflect.New(pt.Elem())
 			value = pv.Interface()
 		}
 		err := goyaml.Unmarshal([]byte(item.data), value)
 		c.Assert(err, IsNil, Commentf("Item #%d", i))
-		c.Assert(value, DeepEquals, item.value)
+		if t.Kind() == reflect.String {
+			c.Assert(*value.(*string), Equals, item.value, Commentf("Item #%d", i))
+		} else {
+			c.Assert(value, DeepEquals, item.value, Commentf("Item #%d", i))
+		}
 	}
 }
 
diff --git a/scannerc.go b/scannerc.go
index daad349..943a597 100644
--- a/scannerc.go
+++ b/scannerc.go
@@ -2520,7 +2520,7 @@
 		// Join the whitespaces or fold line breaks.
 		if leading_blanks {
 			// Do we need to fold line breaks?
-			if leading_break[0] == '\n' {
+			if len(leading_break) > 0 && leading_break[0] == '\n' {
 				if len(trailing_breaks) == 0 {
 					s = append(s, ' ')
 				} else {
