diff --git a/openstack/db/v1/flavors/fixtures.go b/openstack/db/v1/flavors/fixtures.go
index df70898..f0016bc 100644
--- a/openstack/db/v1/flavors/fixtures.go
+++ b/openstack/db/v1/flavors/fixtures.go
@@ -2,7 +2,6 @@
 
 import (
 	"fmt"
-	"strconv"
 	"testing"
 
 	"github.com/rackspace/gophercloud/testhelper/fixture"
@@ -27,9 +26,9 @@
 `
 
 var (
-	flavorID = 1
+	flavorID = "{flavorID}"
 	_baseURL = "/flavors"
-	resURL   = "/flavors/" + strconv.Itoa(flavorID)
+	resURL   = "/flavors/" + flavorID
 )
 
 var (
diff --git a/openstack/db/v1/flavors/requests.go b/openstack/db/v1/flavors/requests.go
index beeeddc..fa34446 100644
--- a/openstack/db/v1/flavors/requests.go
+++ b/openstack/db/v1/flavors/requests.go
@@ -17,7 +17,7 @@
 }
 
 // Get will retrieve information for a specified hardware flavor.
-func Get(client *gophercloud.ServiceClient, id int) GetResult {
+func Get(client *gophercloud.ServiceClient, id string) GetResult {
 	var gr GetResult
 
 	_, gr.Err = client.Request("GET", getURL(client, id), gophercloud.RequestOpts{
diff --git a/openstack/db/v1/flavors/results.go b/openstack/db/v1/flavors/results.go
index 2089f67..2cee010 100644
--- a/openstack/db/v1/flavors/results.go
+++ b/openstack/db/v1/flavors/results.go
@@ -21,7 +21,12 @@
 		Flavor Flavor `mapstructure:"flavor"`
 	}
 
-	err := mapstructure.Decode(gr.Body, &result)
+	decoder, err := mapstructure.NewDecoder(&mapstructure.DecoderConfig{
+		WeaklyTypedInput: true,
+		Result:           &result,
+	})
+
+	err = decoder.Decode(gr.Body)
 	return &result.Flavor, err
 }
 
@@ -76,6 +81,12 @@
 		Flavors []Flavor `mapstructure:"flavors"`
 	}
 
-	err := mapstructure.Decode(casted, &container)
+	decoder, err := mapstructure.NewDecoder(&mapstructure.DecoderConfig{
+		WeaklyTypedInput: true,
+		Result:           &container,
+	})
+
+	err = decoder.Decode(casted)
+
 	return container.Flavors, err
 }
diff --git a/openstack/db/v1/flavors/urls.go b/openstack/db/v1/flavors/urls.go
index 3b3e8da..80da11f 100644
--- a/openstack/db/v1/flavors/urls.go
+++ b/openstack/db/v1/flavors/urls.go
@@ -1,13 +1,9 @@
 package flavors
 
-import (
-	"strconv"
+import "github.com/rackspace/gophercloud"
 
-	"github.com/rackspace/gophercloud"
-)
-
-func getURL(client *gophercloud.ServiceClient, id int) string {
-	return client.ServiceURL("flavors", strconv.Itoa(id))
+func getURL(client *gophercloud.ServiceClient, id string) string {
+	return client.ServiceURL("flavors", id)
 }
 
 func listURL(client *gophercloud.ServiceClient) string {
diff --git a/rackspace/db/v1/flavors/delegate.go b/rackspace/db/v1/flavors/delegate.go
index fd2608d..689b81e 100644
--- a/rackspace/db/v1/flavors/delegate.go
+++ b/rackspace/db/v1/flavors/delegate.go
@@ -12,6 +12,6 @@
 }
 
 // Get retrieves the details for a particular flavor.
-func Get(client *gophercloud.ServiceClient, flavorID int) os.GetResult {
+func Get(client *gophercloud.ServiceClient, flavorID string) os.GetResult {
 	return os.Get(client, flavorID)
 }
diff --git a/rackspace/db/v1/flavors/delegate_test.go b/rackspace/db/v1/flavors/delegate_test.go
index 4f51776..f5f6442 100644
--- a/rackspace/db/v1/flavors/delegate_test.go
+++ b/rackspace/db/v1/flavors/delegate_test.go
@@ -26,7 +26,7 @@
 
 		expected := []os.Flavor{
 			os.Flavor{
-				ID:   1,
+				ID:   "1",
 				Name: "m1.tiny",
 				RAM:  512,
 				Links: []gophercloud.Link{
@@ -35,7 +35,7 @@
 				},
 			},
 			os.Flavor{
-				ID:   2,
+				ID:   "2",
 				Name: "m1.small",
 				RAM:  1024,
 				Links: []gophercloud.Link{
@@ -44,7 +44,7 @@
 				},
 			},
 			os.Flavor{
-				ID:   3,
+				ID:   "3",
 				Name: "m1.medium",
 				RAM:  2048,
 				Links: []gophercloud.Link{
@@ -53,7 +53,7 @@
 				},
 			},
 			os.Flavor{
-				ID:   4,
+				ID:   "4",
 				Name: "m1.large",
 				RAM:  4096,
 				Links: []gophercloud.Link{
@@ -83,7 +83,7 @@
 	th.AssertNoErr(t, err)
 
 	expected := &os.Flavor{
-		ID:   1,
+		ID:   "1",
 		Name: "m1.tiny",
 		RAM:  512,
 		Links: []gophercloud.Link{
diff --git a/rackspace/db/v1/instances/delegate_test.go b/rackspace/db/v1/instances/delegate_test.go
index 4a13286..03a4828 100644
--- a/rackspace/db/v1/instances/delegate_test.go
+++ b/rackspace/db/v1/instances/delegate_test.go
@@ -5,6 +5,7 @@
 
 	"github.com/rackspace/gophercloud"
 	osDBs "github.com/rackspace/gophercloud/openstack/db/v1/databases"
+	"github.com/rackspace/gophercloud/openstack/db/v1/flavors"
 	os "github.com/rackspace/gophercloud/openstack/db/v1/instances"
 	osUsers "github.com/rackspace/gophercloud/openstack/db/v1/users"
 	"github.com/rackspace/gophercloud/rackspace/db/v1/datastores"
@@ -23,7 +24,7 @@
 	Created:   "2014-02-13T21:47:13",
 	Updated:   "2014-02-13T21:47:13",
 	Datastore: datastores.DatastorePartial{Type: "mysql", Version: "5.6"},
-	Flavor: os.Flavor{
+	Flavor: flavors.Flavor{
 		ID: "1",
 		Links: []gophercloud.Link{
 			gophercloud.Link{Href: "https://ord.databases.api.rackspacecloud.com/v1.0/1234/flavors/1", Rel: "self"},
diff --git a/rackspace/db/v1/instances/requests_test.go b/rackspace/db/v1/instances/requests_test.go
index 0805dd8..aab057d 100644
--- a/rackspace/db/v1/instances/requests_test.go
+++ b/rackspace/db/v1/instances/requests_test.go
@@ -4,6 +4,7 @@
 	"testing"
 
 	"github.com/rackspace/gophercloud"
+	"github.com/rackspace/gophercloud/openstack/db/v1/flavors"
 	os "github.com/rackspace/gophercloud/openstack/db/v1/instances"
 	"github.com/rackspace/gophercloud/pagination"
 	"github.com/rackspace/gophercloud/rackspace/db/v1/backups"
@@ -156,7 +157,7 @@
 				ID:        "3c691f06-bf9a-4618-b7ec-2817ce0cf254",
 				IP:        []string{"10.0.0.3"},
 				Volume:    os.Volume{Size: 1},
-				Flavor:    os.Flavor{ID: "9"},
+				Flavor:    flavors.Flavor{ID: "9"},
 				Datastore: datastores.DatastorePartial{Version: "5.6", Type: "mysql"},
 				ReplicaOf: &Instance{
 					ID: "8b499b45-52d6-402d-b398-f9d8f279c69a",
@@ -197,7 +198,7 @@
 			Used: 0.54,
 			Size: 1,
 		},
-		Flavor: os.Flavor{ID: "9"},
+		Flavor: flavors.Flavor{ID: "9"},
 		Datastore: datastores.DatastorePartial{
 			Version: "5.6",
 			Type:    "mysql",
