diff --git a/jsre/pretty.go b/jsre/pretty.go
index 99aa9b33e5547c04853c03aa190b9848b7c57e47..64f0a95c964ab2d0eef74b26ad6882e8e85ce8a7 100644
--- a/jsre/pretty.go
+++ b/jsre/pretty.go
@@ -202,8 +202,17 @@ func (ctx ppctx) doOwnProperties(v otto.Value, f func(string)) {
 	Object, _ := ctx.vm.Object("Object")
 	rv, _ := Object.Call("getOwnPropertyNames", v)
 	gv, _ := rv.Export()
-	for _, v := range gv.([]interface{}) {
-		f(v.(string))
+	switch gv := gv.(type) {
+	case []interface{}:
+		for _, v := range gv {
+			f(v.(string))
+		}
+	case []string:
+		for _, v := range gv {
+			f(v)
+		}
+	default:
+		panic(fmt.Errorf("Object.getOwnPropertyNames returned unexpected type %T", gv))
 	}
 }