diff --git a/rackspace/lb/v1/common.go b/rackspace/lb/v1/common.go
new file mode 100644
index 0000000..89d9361
--- /dev/null
+++ b/rackspace/lb/v1/common.go
@@ -0,0 +1,22 @@
+package v1
+
+import (
+	"fmt"
+	"strconv"
+)
+
+// IDSliceToQueryString takes a slice of elements and converts them into a query
+// string. For example, if name=foo and slice=[]int{20, 40, 60}, then the
+// result would be `?name=20&name=40&name=60'
+func IDSliceToQueryString(name string, ids []int) string {
+	str := ""
+	for k, v := range ids {
+		if k == 0 {
+			str += "?"
+		} else {
+			str += "&"
+		}
+		str += fmt.Sprintf("%s=%s", name, strconv.Itoa(v))
+	}
+	return str
+}
diff --git a/rackspace/lb/v1/lbs/requests.go b/rackspace/lb/v1/lbs/requests.go
index e4d9f86..5d45c14 100644
--- a/rackspace/lb/v1/lbs/requests.go
+++ b/rackspace/lb/v1/lbs/requests.go
@@ -2,12 +2,12 @@
 
 import (
 	"errors"
-	"strconv"
 
 	"github.com/racker/perigee"
 
 	"github.com/rackspace/gophercloud"
 	"github.com/rackspace/gophercloud/pagination"
+	"github.com/rackspace/gophercloud/rackspace/lb/v1"
 	"github.com/rackspace/gophercloud/rackspace/lb/v1/nodes"
 )
 
@@ -249,14 +249,7 @@
 	}
 
 	url := rootURL(c)
-	for k, v := range ids {
-		if k == 0 {
-			url += "?"
-		} else {
-			url += "&"
-		}
-		url += "id=" + strconv.Itoa(v)
-	}
+	url += v1.IDSliceToQueryString("id", ids)
 
 	_, res.Err = perigee.Request("DELETE", url, perigee.Options{
 		MoreHeaders: c.AuthenticatedHeaders(),
diff --git a/rackspace/lb/v1/nodes/requests.go b/rackspace/lb/v1/nodes/requests.go
index a1524dc..e794197 100644
--- a/rackspace/lb/v1/nodes/requests.go
+++ b/rackspace/lb/v1/nodes/requests.go
@@ -3,11 +3,11 @@
 import (
 	"errors"
 	"fmt"
-	"strconv"
 
 	"github.com/racker/perigee"
 	"github.com/rackspace/gophercloud"
 	"github.com/rackspace/gophercloud/pagination"
+	"github.com/rackspace/gophercloud/rackspace/lb/v1"
 )
 
 func List(client *gophercloud.ServiceClient, loadBalancerID int, limit *int) pagination.Pager {
@@ -101,14 +101,7 @@
 	}
 
 	url := rootURL(c, loadBalancerID)
-	for k, v := range nodeIDs {
-		if k == 0 {
-			url += "?"
-		} else {
-			url += "&"
-		}
-		url += "id=" + strconv.Itoa(v)
-	}
+	url += v1.IDSliceToQueryString("id", nodeIDs)
 
 	_, res.Err = perigee.Request("DELETE", url, perigee.Options{
 		MoreHeaders: c.AuthenticatedHeaders(),
