diff --git a/openstack/blockstorage/v2/volumes/results.go b/openstack/blockstorage/v2/volumes/results.go
index 0f39fdb..f00cfe8 100644
--- a/openstack/blockstorage/v2/volumes/results.go
+++ b/openstack/blockstorage/v2/volumes/results.go
@@ -2,6 +2,8 @@
 
 import (
 	"encoding/json"
+	"fmt"
+	"reflect"
 
 	"github.com/gophercloud/gophercloud"
 	"github.com/gophercloud/gophercloud/pagination"
@@ -98,13 +100,22 @@
 	var s struct {
 		Volume *Volume `json:"volume"`
 	}
-	err := r.ExtractInto(&s)
+	err := r.Result.ExtractInto(&s)
 	return s.Volume, err
 }
 
 func (r commonResult) ExtractInto(v interface{}) error {
+	t := reflect.TypeOf(v)
+	if k := t.Kind(); k != reflect.Ptr {
+		return fmt.Errorf("Expected pointer to struct, got %v", k)
+	}
+	t = t.Elem()
+	if k := t.Kind(); k != reflect.Struct {
+		return fmt.Errorf("Expected pointer to struct, got %v", k)
+	}
+
 	var vol map[string]map[string]interface{}
-	err := r.ExtractInto(&vol)
+	err := r.Result.ExtractInto(&vol)
 	if err != nil {
 		return err
 	}
diff --git a/openstack/blockstorage/v2/volumes/testing/requests_test.go b/openstack/blockstorage/v2/volumes/testing/requests_test.go
index ec3afc4..b723e58 100644
--- a/openstack/blockstorage/v2/volumes/testing/requests_test.go
+++ b/openstack/blockstorage/v2/volumes/testing/requests_test.go
@@ -228,6 +228,10 @@
 	}
 	err := volumes.Get(client.ServiceClient(), "d32019d3-bc6e-4319-9c1d-6722fc136a22").ExtractInto(&s)
 	th.AssertNoErr(t, err)
-
 	th.AssertEquals(t, "304dc00909ac4d0da6c62d816bcb3459", s.TenantID)
+
+	err = volumes.Get(client.ServiceClient(), "d32019d3-bc6e-4319-9c1d-6722fc136a22").ExtractInto(s)
+	if err == nil {
+		t.Errorf("Expected error when providing non-pointer struct")
+	}
 }
