diff --git a/openstack/blockstorage/v2/extensions/volumeactions/requests.go b/openstack/blockstorage/v2/extensions/volumeactions/requests.go
index 515fe68..842a659 100644
--- a/openstack/blockstorage/v2/extensions/volumeactions/requests.go
+++ b/openstack/blockstorage/v2/extensions/volumeactions/requests.go
@@ -62,7 +62,7 @@
 		return res
 	}
 
-	_, res.Err = client.Post(attachURL(client, id), reqBody, &res.Body, &gophercloud.RequestOpts{
+	_, res.Err = client.Post(attachURL(client, id), reqBody, nil, &gophercloud.RequestOpts{
 		OkCodes: []int{202},
 	})
 
@@ -76,7 +76,7 @@
 	v := make(map[string]interface{})
 	reqBody := map[string]interface{}{"os-detach": v}
 
-	_, res.Err = client.Post(detachURL(client, id), reqBody, &res.Body, &gophercloud.RequestOpts{
+	_, res.Err = client.Post(detachURL(client, id), reqBody, nil, &gophercloud.RequestOpts{
 		OkCodes: []int{202},
 	})
 
@@ -90,7 +90,7 @@
 	v := make(map[string]interface{})
 	reqBody := map[string]interface{}{"os-reserve": v}
 
-	_, res.Err = client.Post(reserveURL(client, id), reqBody, &res.Body, &gophercloud.RequestOpts{
+	_, res.Err = client.Post(reserveURL(client, id), reqBody, nil, &gophercloud.RequestOpts{
 		OkCodes: []int{200, 201, 202},
 	})
 
@@ -104,7 +104,7 @@
 	v := make(map[string]interface{})
 	reqBody := map[string]interface{}{"os-unreserve": v}
 
-	_, res.Err = client.Post(unreserveURL(client, id), reqBody, &res.Body, &gophercloud.RequestOpts{
+	_, res.Err = client.Post(unreserveURL(client, id), reqBody, nil, &gophercloud.RequestOpts{
 		OkCodes: []int{200, 201, 202},
 	})
 
@@ -193,8 +193,8 @@
 
 	reqBody := map[string]interface{}{"os-terminate_connection": connctorMap}
 
-	_, res.Err = client.Post(teminateConnectionURL(client, id), reqBody, &res.Body, &gophercloud.RequestOpts{
-		OkCodes: []int{200, 201, 202},
+	_, res.Err = client.Post(teminateConnectionURL(client, id), reqBody, nil, &gophercloud.RequestOpts{
+		OkCodes: []int{202},
 	})
 
 	return res
diff --git a/openstack/blockstorage/v2/extensions/volumeactions/results.go b/openstack/blockstorage/v2/extensions/volumeactions/results.go
index c767307..65778e5 100644
--- a/openstack/blockstorage/v2/extensions/volumeactions/results.go
+++ b/openstack/blockstorage/v2/extensions/volumeactions/results.go
@@ -11,22 +11,22 @@
 
 // AttachResult contains the response body and error from a Get request.
 type AttachResult struct {
-	commonResult
+	gophercloud.ErrResult
 }
 
 // DetachResult contains the response body and error from a Get request.
 type DetachResult struct {
-	commonResult
+	gophercloud.ErrResult
 }
 
 // ReserveResult contains the response body and error from a Get request.
 type ReserveResult struct {
-	commonResult
+	gophercloud.ErrResult
 }
 
 // UnreserveResult contains the response body and error from a Get request.
 type UnreserveResult struct {
-	commonResult
+	gophercloud.ErrResult
 }
 
 // InitializeConnectionResult contains the response body and error from a Get request.
@@ -36,7 +36,7 @@
 
 // TerminateConnectionResult contains the response body and error from a Get request.
 type TerminateConnectionResult struct {
-	commonResult
+	gophercloud.ErrResult
 }
 
 // Extract will get the Volume object out of the commonResult object.
@@ -46,7 +46,6 @@
 	}
 
 	var res map[string]interface{}
-
 	err := mapstructure.Decode(r.Body, &res)
 
 	return res, err
