diff --git a/lib/haxe/src/org/apache/thrift/helper/Int64Map.hx b/lib/haxe/src/org/apache/thrift/helper/Int64Map.hx
index e648b75..8845fd0 100644
--- a/lib/haxe/src/org/apache/thrift/helper/Int64Map.hx
+++ b/lib/haxe/src/org/apache/thrift/helper/Int64Map.hx
@@ -52,9 +52,9 @@
 
     private function GetLowMap( key : haxe.Int64, canCreate : Bool) : IntMap< T> {
         #if( haxe_ver < 3.2)
-        return GetSubMap( Int64.getHigh(key), false);
+        return GetSubMap( Int64.getHigh(key), canCreate);
         #else
-        return GetSubMap( key.high, false);
+        return GetSubMap( key.high, canCreate);
         #end
     }
 
@@ -70,10 +70,10 @@
 
     private function NullCheck( key : haxe.Int64) : Bool {
         #if( haxe_ver < 3.2)
-		return (key != null);  
+        return (key != null);
         #else
-		return false;  // In64 is not nullable anymore (it never really was)
-		#end
+        return true;  // Int64 is not nullable anymore (it never really was)
+        #end
     };
 
 
@@ -183,9 +183,10 @@
             if( first) {
                 first = false;
             } else {
-                result += ", ";
+                result += ",";
             }
 
+            result += " ";
             var value = this.get(key);
             result += Int64.toStr(key) + ' => $value';
         }
diff --git a/lib/haxe/src/org/apache/thrift/protocol/TCompactProtocol.hx b/lib/haxe/src/org/apache/thrift/protocol/TCompactProtocol.hx
index e945789..c4d0ced 100644
--- a/lib/haxe/src/org/apache/thrift/protocol/TCompactProtocol.hx
+++ b/lib/haxe/src/org/apache/thrift/protocol/TCompactProtocol.hx
@@ -700,7 +700,6 @@
         try
         {
             return tcompactTypeToType[type];
-            throw "fuck";
         }
         catch ( e : Dynamic)
         {
diff --git a/lib/haxe/test/Makefile.am b/lib/haxe/test/Makefile.am
index 91cfc90..7d29f81 100644
--- a/lib/haxe/test/Makefile.am
+++ b/lib/haxe/test/Makefile.am
@@ -36,9 +36,12 @@
 
 all-local: $(BIN_CPP)
 
-$(BIN_CPP): gen-haxe/thrift/test/ThriftTest.hx \
-			gen-haxe/thrift/test/Aggr.hx \
-			gen-haxe/thrift/test/BenchmarkService.hx
+$(BIN_CPP): \
+		src/*.hx \
+		../src/org/apache/thrift/**/*.hx \
+		gen-haxe/thrift/test/ThriftTest.hx \
+		gen-haxe/thrift/test/Aggr.hx \
+		gen-haxe/thrift/test/BenchmarkService.hx
 	$(HAXE) --cwd .  cpp.hxml
 
 
@@ -49,7 +52,7 @@
 #    $(HAXE)  --cwd .  javascript
 #    $(HAXE)  --cwd .  neko
 #    $(HAXE)  --cwd .  php
-#    $(HAXE)  --cwd .  python  # needs Haxe 3.1.4
+#    $(HAXE)  --cwd .  python  # needs Haxe 3.2.0
 
 
 clean-local:
