diff --git a/params.go b/params.go
index 509a7c7..4d0f1e6 100644
--- a/params.go
+++ b/params.go
@@ -145,8 +145,12 @@
 					case reflect.Bool:
 						params.Add(tags[0], strconv.FormatBool(v.Bool()))
 					case reflect.Slice:
-						switch f.Type {
-						case reflect.TypeOf([]string{}):
+						switch v.Type().Elem() {
+						case reflect.TypeOf(0):
+							for i := 0; i < v.Len(); i++ {
+								params.Add(tags[0], strconv.FormatInt(v.Index(i).Int(), 10))
+							}
+						default:
 							for i := 0; i < v.Len(); i++ {
 								params.Add(tags[0], v.Index(i).String())
 							}
diff --git a/params_test.go b/params_test.go
index f314a9e..2f40eec 100644
--- a/params_test.go
+++ b/params_test.go
@@ -34,18 +34,23 @@
 }
 
 func TestBuildQueryString(t *testing.T) {
+	type testVar string
 	opts := struct {
-		J int      `q:"j"`
-		R string   `q:"r,required"`
-		C bool     `q:"c"`
-		S []string `q:"s"`
+		J  int       `q:"j"`
+		R  string    `q:"r,required"`
+		C  bool      `q:"c"`
+		S  []string  `q:"s"`
+		TS []testVar `q:"ts"`
+		TI []int     `q:"ti"`
 	}{
-		J: 2,
-		R: "red",
-		C: true,
-		S: []string{"one", "two", "three"},
+		J:  2,
+		R:  "red",
+		C:  true,
+		S:  []string{"one", "two", "three"},
+		TS: []testVar{"a", "b"},
+		TI: []int{1, 2},
 	}
-	expected := &url.URL{RawQuery: "c=true&j=2&r=red&s=one&s=two&s=three"}
+	expected := &url.URL{RawQuery: "c=true&j=2&r=red&s=one&s=two&s=three&ti=1&ti=2&ts=a&ts=b"}
 	actual, err := BuildQueryString(&opts)
 	if err != nil {
 		t.Errorf("Error building query string: %v", err)
@@ -53,10 +58,12 @@
 	th.CheckDeepEquals(t, expected, actual)
 
 	opts = struct {
-		J int      `q:"j"`
-		R string   `q:"r,required"`
-		C bool     `q:"c"`
-		S []string `q:"s"`
+		J  int       `q:"j"`
+		R  string    `q:"r,required"`
+		C  bool      `q:"c"`
+		S  []string  `q:"s"`
+		TS []testVar `q:"ts"`
+		TI []int     `q:"ti"`
 	}{
 		J: 2,
 		C: true,
