diff --git a/src/ProtocolBuffers.Test/DynamicMessageTest.cs b/src/ProtocolBuffers.Test/DynamicMessageTest.cs
index 89193ad..edcce38 100644
--- a/src/ProtocolBuffers.Test/DynamicMessageTest.cs
+++ b/src/ProtocolBuffers.Test/DynamicMessageTest.cs
@@ -1,3 +1,4 @@
+using System.Collections.Generic;
 using Google.ProtocolBuffers.TestProtos;
 // Protocol Buffers - Google's data interchange format
 // Copyright 2008 Google Inc.  All rights reserved.
@@ -173,5 +174,26 @@
       DynamicMessage copy = DynamicMessage.CreateBuilder(message).Build();
       reflectionTester.AssertAllFieldsSetViaReflection(copy);
     }
+
+    [Test]
+    public void ToBuilder() {
+      DynamicMessage.Builder builder =
+          DynamicMessage.CreateBuilder(TestAllTypes.Descriptor);
+      reflectionTester.SetAllFieldsViaReflection(builder);
+      int unknownFieldNum = 9;
+      ulong unknownFieldVal = 90;
+      builder.SetUnknownFields(UnknownFieldSet.CreateBuilder()
+          .AddField(unknownFieldNum,
+              UnknownField.CreateBuilder().AddVarint(unknownFieldVal).Build())
+          .Build());
+      DynamicMessage message = builder.Build();
+
+      DynamicMessage derived = message.ToBuilder().Build();
+      reflectionTester.AssertAllFieldsSetViaReflection(derived);
+
+      IList<ulong> values = derived.UnknownFields.FieldDictionary[unknownFieldNum].VarintList;
+      Assert.AreEqual(1, values.Count);
+      Assert.AreEqual(unknownFieldVal, values[0]);
+    }
   }
 }
