Test token creation failure conditions.
diff --git a/openstack/identity/v2/tokens/results.go b/openstack/identity/v2/tokens/results.go
index 58dad77..e88b2c7 100644
--- a/openstack/identity/v2/tokens/results.go
+++ b/openstack/identity/v2/tokens/results.go
@@ -76,6 +76,10 @@
 
 // ExtractToken returns the just-created Token from a CreateResult.
 func (result CreateResult) ExtractToken() (*Token, error) {
+	if result.Err != nil {
+		return nil, result.Err
+	}
+
 	var response struct {
 		Access struct {
 			Token struct {
@@ -105,6 +109,10 @@
 
 // ExtractServiceCatalog returns the ServiceCatalog that was generated along with the user's Token.
 func (result CreateResult) ExtractServiceCatalog() (*ServiceCatalog, error) {
+	if result.Err != nil {
+		return nil, result.Err
+	}
+
 	var response struct {
 		Access struct {
 			Entries []CatalogEntry `mapstructure:"serviceCatalog"`