diff --git a/rackspace/cdn/v1/services/delegate_test.go b/rackspace/cdn/v1/services/delegate_test.go
index baaa439..f833cab 100644
--- a/rackspace/cdn/v1/services/delegate_test.go
+++ b/rackspace/cdn/v1/services/delegate_test.go
@@ -292,7 +292,7 @@
 	th.AssertDeepEquals(t, expected, actual)
 }
 
-func TestUpdate(t *testing.T) {
+func TestSuccessfulUpdate(t *testing.T) {
 	th.SetupHTTP()
 	defer th.TeardownHTTP()
 
@@ -322,6 +322,36 @@
 	th.AssertEquals(t, expected, actual)
 }
 
+func TestUnsuccessfulUpdate(t *testing.T) {
+	th.SetupHTTP()
+	defer th.TeardownHTTP()
+
+	os.HandleUpdateCDNServiceSuccessfully(t)
+
+	updateOpts := os.UpdateOpts{
+		os.UpdateOpt{
+			Op: "Foo",
+			Path: "/origins/0",
+			Value: map[string]interface{}{
+				"origin": "44.33.22.11",
+				"port": 80,
+				"ssl": false,
+				},
+			},
+		os.UpdateOpt{
+			Op: os.Add,
+			Path: "/domains/0",
+			Value: map[string]interface{}{
+				"domain": "added.mocksite4.com",
+			},
+		},
+	}
+	_, err := Update(fake.ServiceClient(), "96737ae3-cfc1-4c72-be88-5d0e7cc9a3f0", updateOpts).Extract()
+	if err == nil {
+		t.Errorf("Expected error during TestUnsuccessfulUpdate but didn't get one.")
+	}
+}
+
 func TestDelete(t *testing.T) {
 	th.SetupHTTP()
 	defer th.TeardownHTTP()
