diff --git a/libgo/go/json/scanner_test.go b/libgo/go/json/scanner_test.go
index 0d4de3246dd0fa4000df0b67acff73c4c42db420..df87c716aff2269d34883488ee1813be0a03f734 100644
--- a/libgo/go/json/scanner_test.go
+++ b/libgo/go/json/scanner_test.go
@@ -252,6 +252,9 @@ func genArray(n int) []interface{} {
 	if f > n {
 		f = n
 	}
+	if n > 0 && f == 0 {
+		f = 1
+	}
 	x := make([]interface{}, int(f))
 	for i := range x {
 		x[i] = genValue(((i+1)*n)/f - (i*n)/f)