diff --git a/php/tests/php_implementation_test.php b/php/tests/php_implementation_test.php
index 6b922a9..ac7c13d 100644
--- a/php/tests/php_implementation_test.php
+++ b/php/tests/php_implementation_test.php
@@ -368,33 +368,31 @@
         $this->assertFalse($input->readVarint64($var));
 
         // Read 64 testing
-        if (PHP_INT_SIZE > 4) {
-            $testVals = array(
-                '10'                 => '0a000000000000000000',
-                '100'                => '64000000000000000000',
-                '800'                => 'a0060000000000000000',
-                '6400'               => '80320000000000000000',
-                '70400'              => '80a60400000000000000',
-                '774400'             => '80a22f00000000000000',
-                '9292800'            => '8098b704000000000000',
-                '74342400'           => '80c0b923000000000000',
-                '743424000'          => '8080bfe2020000000000',
-                '8177664000'         => '8080b5bb1e0000000000',
-                '65421312000'        => '8080a8dbf30100000000',
-                '785055744000'       => '8080e0c7ec1600000000',
-                '9420668928000'      => '808080dd969202000000',
-                '103627358208000'    => '808080fff9c717000000',
-                '1139900940288000'   => '808080f5bd9783020000',
-                '13678811283456000'  => '808080fce699a6180000',
-                '109430490267648000' => '808080e0b7ceb1c20100',
-                '984874412408832000' => '808080e0f5c1bed50d00',
-            );
+        $testVals = array(
+            '10'                 => '0a000000000000000000',
+            '100'                => '64000000000000000000',
+            '800'                => 'a0060000000000000000',
+            '6400'               => '80320000000000000000',
+            '70400'              => '80a60400000000000000',
+            '774400'             => '80a22f00000000000000',
+            '9292800'            => '8098b704000000000000',
+            '74342400'           => '80c0b923000000000000',
+            '743424000'          => '8080bfe2020000000000',
+            '8177664000'         => '8080b5bb1e0000000000',
+            '65421312000'        => '8080a8dbf30100000000',
+            '785055744000'       => '8080e0c7ec1600000000',
+            '9420668928000'      => '808080dd969202000000',
+            '103627358208000'    => '808080fff9c717000000',
+            '1139900940288000'   => '808080f5bd9783020000',
+            '13678811283456000'  => '808080fce699a6180000',
+            '109430490267648000' => '808080e0b7ceb1c20100',
+            '984874412408832000' => '808080e0f5c1bed50d00',
+        );
 
-            foreach ($testVals as $original => $encoded) {
-                $input = new InputStream(hex2bin($encoded));
-                $this->assertTrue($input->readVarint64($var));
-                $this->assertSame($original, $var);
-            }
+        foreach ($testVals as $original => $encoded) {
+            $input = new InputStream(hex2bin($encoded));
+            $this->assertTrue($input->readVarint64($var));
+            $this->assertEquals($original, $var);
         }
     }
 
