diff --git a/lib/puppet/parser/functions/cartesian.rb b/lib/puppet/parser/functions/cartesian.rb
index 4f16d38c57d1afbc34ba46c16f75d8b7ffbb22c6..c69dce8d5c96e4b64059bcd4e1ef2b0be8c5cd1c 100644
--- a/lib/puppet/parser/functions/cartesian.rb
+++ b/lib/puppet/parser/functions/cartesian.rb
@@ -36,7 +36,7 @@ module Puppet::Parser::Functions
             newres = []
             result.each do |p1|
                 a.each do |p2|
-                    newres << p1+p2
+                    newres << p1+p2.to_s
                 end
             end
             result = newres