diff --git a/b9.cabal b/b9.cabal
--- a/b9.cabal
+++ b/b9.cabal
@@ -1,5 +1,5 @@
 name:                b9
-version:             0.5.14
+version:             0.5.15
 
 synopsis:            A tool and library for building virtual machine images.
 
diff --git a/src/lib/B9/Content/YamlObject.hs b/src/lib/B9/Content/YamlObject.hs
--- a/src/lib/B9/Content/YamlObject.hs
+++ b/src/lib/B9/Content/YamlObject.hs
@@ -72,6 +72,7 @@
         Array (a1 ++ singleton t2)
       combine t1 (Array a2) =
         Array (singleton t1 ++ a2)
+      combine (String s1) (String s2) = String (s1 <> s2)
       combine t1 t2 =
         array [t1,t2]
 
diff --git a/src/tests/B9/Content/YamlObjectSpec.hs b/src/tests/B9/Content/YamlObjectSpec.hs
--- a/src/tests/B9/Content/YamlObjectSpec.hs
+++ b/src/tests/B9/Content/YamlObjectSpec.hs
@@ -72,6 +72,12 @@
                             ,"owner" .=
                              toJSON ("root:root"::String)]]])
       in ud1 <> ud2 `shouldBe` ud
+    it "combines strings by appending them" $
+       let o1 = YamlObject (object ["k" .= toJSON ("Hello"::String)])
+           o2 = YamlObject (object ["k" .= toJSON ("World"::String)])
+           combined =
+             YamlObject (object ["k" .= toJSON ("HelloWorld"::String)])
+       in (o1 <> o2) `shouldBe` combined
 
 
 --    describe "fromAST YamlObject" $ do
