diff --git a/user/src/com/google/gwt/user/client/ui/Composite.java b/user/src/com/google/gwt/user/client/ui/Composite.java
index ab1f714..e50405e 100644
--- a/user/src/com/google/gwt/user/client/ui/Composite.java
+++ b/user/src/com/google/gwt/user/client/ui/Composite.java
@@ -90,9 +90,10 @@
     if (renderable != null) {
       return renderable.render(stamper);
     } else {
-      SafeHtmlBuilder builder = new SafeHtmlBuilder();
-      render(stamper, builder);
-      return builder.toSafeHtml();
+      HtmlSpanBuilder spanBuilder = HtmlBuilderFactory.get()
+          .createSpanBuilder();
+      stamper.stamp(spanBuilder).end();
+      return spanBuilder.asSafeHtml();
     }
   }
 
@@ -101,10 +102,7 @@
     if (renderable != null) {
       renderable.render(stamper, builder);
     } else {
-      HtmlSpanBuilder spanBuilder = HtmlBuilderFactory.get()
-          .createSpanBuilder();
-      stamper.stamp(spanBuilder).end();
-      builder.append(spanBuilder.asSafeHtml());
+      builder.append(render(stamper));
     }
   }
 
diff --git a/user/src/com/google/gwt/user/client/ui/RenderablePanel.java b/user/src/com/google/gwt/user/client/ui/RenderablePanel.java
index 6e3b216..509cbe0 100644
--- a/user/src/com/google/gwt/user/client/ui/RenderablePanel.java
+++ b/user/src/com/google/gwt/user/client/ui/RenderablePanel.java
@@ -177,13 +177,6 @@
 
   @Override
   public SafeHtml render(RenderableStamper stamper) {
-    SafeHtmlBuilder builder = new SafeHtmlBuilder();
-    render(stamper, builder);
-    return builder.toSafeHtml();
-  }
-
-  @Override
-  public void render(RenderableStamper stamper, SafeHtmlBuilder builder) {
     String styleName = getStyleName();
 
     HtmlDivBuilder divBuilder = HtmlBuilderFactory.get()
@@ -195,7 +188,12 @@
     stamper.stamp(divBuilder);
     divBuilder.html(getInnerHtml()).end();
 
-    builder.append(divBuilder.asSafeHtml());
+    return divBuilder.asSafeHtml();
+  }
+
+  @Override
+  public void render(RenderableStamper stamper, SafeHtmlBuilder builder) {
+    builder.append(render(stamper));
   }
 
   @Override
