diff --git a/tests/vm/gh_test.go b/tests/vm/gh_test.go
index 68eb4cb45ca1d2e2fc7c2199617befa87b4b1d82..2f76084d0f097917f62da2d34c4d889da0b55c1a 100644
--- a/tests/vm/gh_test.go
+++ b/tests/vm/gh_test.go
@@ -2,7 +2,6 @@ package vm
 
 import (
 	"bytes"
-	"io/ioutil"
 	"math/big"
 	"os"
 	"path/filepath"
@@ -373,21 +372,16 @@ func TestWallet(t *testing.T) {
 	RunVmTest(fn, t)
 }
 
-func TestRandom(t *testing.T) {
-	// TODO: fix JSON EOF bug and unskip
-	t.Skip()
-	fileNames := make([]string, 1024)
-	fileInfos, err := ioutil.ReadDir("../files/StateTests/RandomTests")
-	if err != nil {
-		t.Errorf("Could not read StateTests/RandomTests dir: %v", err)
-		return
-	}
-	for _, fileInfo := range fileInfos {
-		fileNames = append(fileNames, fileInfo.Name())
+func TestStateTestsRandom(t *testing.T) {
+	fns, _ := filepath.Glob("../files/StateTests/RandomTests/*")
+	for _, fn := range fns {
+		RunVmTest(fn, t)
 	}
+}
 
-	//for _, f := range fileNames {
-	path := filepath.Join("../files/StateTests/RandomTests/", fileNames[0])
-	RunVmTest(path, t)
-	//}
+func TestVMRandom(t *testing.T) {
+	fns, _ := filepath.Glob("../files/VMTests/RandomTests/*")
+	for _, fn := range fns {
+		RunVmTest(fn, t)
+	}
 }