diff --git a/lib/active_admin/arbre/element.rb b/lib/active_admin/arbre/element.rb
index <HASH>..<HASH> 100644
--- a/lib/active_admin/arbre/element.rb
+++ b/lib/active_admin/arbre/element.rb
@@ -46,7 +46,8 @@ module Arbre
           return @children
         end
 
-        if child.is_a?(String)
+        # If its not an element, wrap it in a TextNode
+        unless child.is_a?(Element)
           child = TextNode.from_string(child)
         end
 
diff --git a/spec/unit/components/attributes_table_spec.rb b/spec/unit/components/attributes_table_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/unit/components/attributes_table_spec.rb
+++ b/spec/unit/components/attributes_table_spec.rb
@@ -86,7 +86,7 @@ describe ActiveAdmin::Views::AttributesTable do
       table = attributes_table_for(post) do
         row("ID"){ span(post.id, :class => 'id') }
       end
-      table.find_by_tag("td").first.content.should == "<span class=\"id\">1</span>"
+      table.find_by_tag("td").first.content.chomp.strip.should == "<span class=\"id\">1</span>"
     end
 
     it "should check if an association exists when an attribute has id in it" do
Wrap any child element in a TextNode unless its already an Element