diff --git a/rackspace/blockstorage/v1/snapshots/delegate.go b/rackspace/blockstorage/v1/snapshots/delegate.go
index aacef7c..b338c36 100644
--- a/rackspace/blockstorage/v1/snapshots/delegate.go
+++ b/rackspace/blockstorage/v1/snapshots/delegate.go
@@ -67,8 +67,8 @@
 }
 
 // Delete will delete the existing Snapshot with the provided ID.
-func Delete(client *gophercloud.ServiceClient, id string) DeleteResult {
-	return DeleteResult{os.Delete(client, id)}
+func Delete(client *gophercloud.ServiceClient, id string) os.DeleteResult {
+	return os.Delete(client, id)
 }
 
 // Get retrieves the Snapshot with the provided ID. To extract the Snapshot
diff --git a/rackspace/blockstorage/v1/snapshots/results.go b/rackspace/blockstorage/v1/snapshots/results.go
index a43bee9..0fab282 100644
--- a/rackspace/blockstorage/v1/snapshots/results.go
+++ b/rackspace/blockstorage/v1/snapshots/results.go
@@ -71,11 +71,6 @@
 	gophercloud.Result
 }
 
-// DeleteResult represents the result of a delete operation
-type DeleteResult struct {
-	os.DeleteResult
-}
-
 func commonExtract(resp interface{}, err error) (*Snapshot, error) {
 	if err != nil {
 		return nil, err
diff --git a/rackspace/blockstorage/v1/volumes/delegate.go b/rackspace/blockstorage/v1/volumes/delegate.go
index eb9ae56..4383494 100644
--- a/rackspace/blockstorage/v1/volumes/delegate.go
+++ b/rackspace/blockstorage/v1/volumes/delegate.go
@@ -28,8 +28,8 @@
 }
 
 // Delete will delete the existing Volume with the provided ID.
-func Delete(client *gophercloud.ServiceClient, id string) DeleteResult {
-	return DeleteResult{os.Delete(client, id)}
+func Delete(client *gophercloud.ServiceClient, id string) os.DeleteResult {
+	return os.Delete(client, id)
 }
 
 // Get retrieves the Volume with the provided ID. To extract the Volume object
diff --git a/rackspace/blockstorage/v1/volumes/results.go b/rackspace/blockstorage/v1/volumes/results.go
index 9435dca..c7c2cc4 100644
--- a/rackspace/blockstorage/v1/volumes/results.go
+++ b/rackspace/blockstorage/v1/volumes/results.go
@@ -25,11 +25,6 @@
 	os.UpdateResult
 }
 
-// DeleteResult represents the result of a delete operation
-type DeleteResult struct {
-	os.DeleteResult
-}
-
 func commonExtract(resp interface{}, err error) (*Volume, error) {
 	if err != nil {
 		return nil, err
