diff --git a/acceptance/openstack/blockstorage/v1/snapshots_test.go b/acceptance/openstack/blockstorage/v1/snapshots_test.go
index bd6a961..1e639de 100644
--- a/acceptance/openstack/blockstorage/v1/snapshots_test.go
+++ b/acceptance/openstack/blockstorage/v1/snapshots_test.go
@@ -47,8 +47,8 @@
 
 	t.Logf("Created snapshot: %+v\n", ss)
 
-	res = snapshots.Delete(client, ss.ID)
-	if res.Err != nil {
+	err = snapshots.Delete(client, ss.ID).Extract()
+	if err != nil {
 		t.Fatalf("Failed to delete snapshot: %v", err)
 	}
 
@@ -66,8 +66,8 @@
 
 	t.Log("Deleted snapshot\n")
 
-	res = volumes.Delete(client, v.ID)
-	if res.Err != nil {
+	err = volumes.Delete(client, v.ID).Extract()
+	if err != nil {
 		t.Errorf("Failed to delete volume: %v", err)
 	}
 
diff --git a/acceptance/openstack/blockstorage/v1/volumes_test.go b/acceptance/openstack/blockstorage/v1/volumes_test.go
index d2281e6..b2f2600 100644
--- a/acceptance/openstack/blockstorage/v1/volumes_test.go
+++ b/acceptance/openstack/blockstorage/v1/volumes_test.go
@@ -47,8 +47,8 @@
 		if err != nil {
 			t.Error(err)
 		}
-		res = volumes.Delete(client, cv.ID)
-		if res.Err != nil {
+		err = volumes.Delete(client, cv.ID).Extract()
+		if err != nil {
 			t.Error(err)
 			return
 		}
diff --git a/acceptance/openstack/objectstorage/v1/objects_test.go b/acceptance/openstack/objectstorage/v1/objects_test.go
index 987f733..a8de338 100644
--- a/acceptance/openstack/objectstorage/v1/objects_test.go
+++ b/acceptance/openstack/objectstorage/v1/objects_test.go
@@ -30,8 +30,9 @@
 
 	// Create a container to hold the test objects.
 	cName := tools.RandomString("test-container-", 8)
-	createres := containers.Create(client, cName, nil)
-	th.AssertNoErr(t, createres.Err)
+	header, err := containers.Create(client, cName, nil).ExtractHeader()
+	th.AssertNoErr(t, err)
+	t.Logf("Create object headers: %+v\n", header)
 
 	// Defer deletion of the container until after testing.
 	defer func() {
@@ -55,7 +56,7 @@
 	}()
 
 	ons := make([]string, 0, len(oNames))
-	err := objects.List(client, cName, &objects.ListOpts{Full: false, Prefix: "test-object-"}).EachPage(func(page pagination.Page) (bool, error) {
+	err = objects.List(client, cName, &objects.ListOpts{Full: false, Prefix: "test-object-"}).EachPage(func(page pagination.Page) (bool, error) {
 		names, err := objects.ExtractNames(page)
 		th.AssertNoErr(t, err)
 		ons = append(ons, names...)
diff --git a/acceptance/rackspace/objectstorage/v1/cdnobjects_test.go b/acceptance/rackspace/objectstorage/v1/cdnobjects_test.go
index dfc2dca..6e477ae 100644
--- a/acceptance/rackspace/objectstorage/v1/cdnobjects_test.go
+++ b/acceptance/rackspace/objectstorage/v1/cdnobjects_test.go
@@ -25,9 +25,9 @@
 		th.AssertNoErr(t, deleteResult.Err)
 	}()
 
-	createObjResult := raxObjects.Create(raxClient, "gophercloud-test", "test-object", bytes.NewBufferString("gophercloud cdn test"), nil)
-	th.AssertNoErr(t, createObjResult.Err)
-	t.Logf("Headers from Create Object request: %+v\n", createObjResult.Header)
+	header, err := raxObjects.Create(raxClient, "gophercloud-test", "test-object", bytes.NewBufferString("gophercloud cdn test"), nil).ExtractHeader()
+	th.AssertNoErr(t, err)
+	t.Logf("Headers from Create Object request: %+v\n", header)
 	defer func() {
 		deleteResult := raxObjects.Delete(raxClient, "gophercloud-test", "test-object", nil)
 		th.AssertNoErr(t, deleteResult.Err)
diff --git a/openstack/objectstorage/v1/accounts/results.go b/openstack/objectstorage/v1/accounts/results.go
index ba379eb..b254db9 100644
--- a/openstack/objectstorage/v1/accounts/results.go
+++ b/openstack/objectstorage/v1/accounts/results.go
@@ -1,14 +1,23 @@
 package accounts
 
 import (
+	"net/http"
 	"strings"
 
 	"github.com/rackspace/gophercloud"
 )
 
+type headerResult struct {
+	gophercloud.Result
+}
+
+func (hr headerResult) ExtractHeader() (http.Header, error) {
+	return hr.Header, hr.Err
+}
+
 // GetResult is returned from a call to the Get function.
 type GetResult struct {
-	gophercloud.Result
+	headerResult
 }
 
 // ExtractMetadata is a function that takes a GetResult (of type *http.Response)
@@ -30,5 +39,5 @@
 
 // UpdateResult is returned from a call to the Update function.
 type UpdateResult struct {
-	gophercloud.Result
+	headerResult
 }
diff --git a/openstack/objectstorage/v1/containers/results.go b/openstack/objectstorage/v1/containers/results.go
index f7f84c3..b0f2bd7 100644
--- a/openstack/objectstorage/v1/containers/results.go
+++ b/openstack/objectstorage/v1/containers/results.go
@@ -2,6 +2,7 @@
 
 import (
 	"fmt"
+	"net/http"
 	"strings"
 
 	"github.com/rackspace/gophercloud"
@@ -96,13 +97,17 @@
 	}
 }
 
-type commonResult struct {
+type headerResult struct {
 	gophercloud.Result
 }
 
+func (hr headerResult) ExtractHeader() (http.Header, error) {
+	return hr.Header, hr.Err
+}
+
 // GetResult represents the result of a get operation.
 type GetResult struct {
-	commonResult
+	headerResult
 }
 
 // ExtractMetadata is a function that takes a GetResult (of type *http.Response)
@@ -125,19 +130,19 @@
 // the headers from the HTTP response, you can invoke the 'ExtractHeaders'
 // method on the result struct.
 type CreateResult struct {
-	commonResult
+	headerResult
 }
 
 // UpdateResult represents the result of an update operation. To extract the
 // the headers from the HTTP response, you can invoke the 'ExtractHeaders'
 // method on the result struct.
 type UpdateResult struct {
-	commonResult
+	headerResult
 }
 
 // DeleteResult represents the result of a delete operation. To extract the
 // the headers from the HTTP response, you can invoke the 'ExtractHeaders'
 // method on the result struct.
 type DeleteResult struct {
-	gophercloud.ExtractErrResult
+	headerResult
 }
diff --git a/openstack/objectstorage/v1/objects/requests.go b/openstack/objectstorage/v1/objects/requests.go
index f5ca296..56004b2 100644
--- a/openstack/objectstorage/v1/objects/requests.go
+++ b/openstack/objectstorage/v1/objects/requests.go
@@ -303,11 +303,12 @@
 		url += query
 	}
 
-	_, res.Err = perigee.Request("DELETE", url, perigee.Options{
+	resp, err := perigee.Request("DELETE", url, perigee.Options{
 		MoreHeaders: c.AuthenticatedHeaders(),
 		OkCodes:     []int{204},
 	})
-
+	res.Header = resp.HttpResponse.Header
+	res.Err = err
 	return res
 }
 
diff --git a/openstack/objectstorage/v1/objects/results.go b/openstack/objectstorage/v1/objects/results.go
index 97020df..274d8a6 100644
--- a/openstack/objectstorage/v1/objects/results.go
+++ b/openstack/objectstorage/v1/objects/results.go
@@ -4,6 +4,7 @@
 	"fmt"
 	"io"
 	"io/ioutil"
+	"net/http"
 	"strings"
 
 	"github.com/rackspace/gophercloud"
@@ -97,13 +98,17 @@
 	}
 }
 
-type commonResult struct {
+type headerResult struct {
 	gophercloud.Result
 }
 
+func (hr headerResult) ExtractHeader() (http.Header, error) {
+	return hr.Header, hr.Err
+}
+
 // DownloadResult is a *http.Response that is returned from a call to the Download function.
 type DownloadResult struct {
-	commonResult
+	headerResult
 	Body io.ReadCloser
 }
 
@@ -126,7 +131,7 @@
 
 // GetResult is a *http.Response that is returned from a call to the Get function.
 type GetResult struct {
-	commonResult
+	headerResult
 }
 
 // ExtractMetadata is a function that takes a GetResult (of type *http.Response)
@@ -147,20 +152,20 @@
 
 // CreateResult represents the result of a create operation.
 type CreateResult struct {
-	commonResult
+	headerResult
 }
 
 // UpdateResult represents the result of an update operation.
 type UpdateResult struct {
-	commonResult
+	headerResult
 }
 
 // DeleteResult represents the result of a delete operation.
 type DeleteResult struct {
-	gophercloud.ExtractErrResult
+	headerResult
 }
 
 // CopyResult represents the result of a copy operation.
 type CopyResult struct {
-	commonResult
+	headerResult
 }
diff --git a/rackspace/objectstorage/v1/cdncontainers/results.go b/rackspace/objectstorage/v1/cdncontainers/results.go
index 374d884..05367e2 100644
--- a/rackspace/objectstorage/v1/cdncontainers/results.go
+++ b/rackspace/objectstorage/v1/cdncontainers/results.go
@@ -1,8 +1,20 @@
 package cdncontainers
 
-import "github.com/rackspace/gophercloud"
+import (
+	"net/http"
+
+	"github.com/rackspace/gophercloud"
+)
+
+type headerResult struct {
+	gophercloud.Result
+}
+
+func (hr headerResult) ExtractHeader() (http.Header, error) {
+	return hr.Header, hr.Err
+}
 
 // EnableResult represents the result of a get operation.
 type EnableResult struct {
-	gophercloud.Result
+	headerResult
 }
