diff --git a/src/gds/awgtpman/testpoint.c b/src/gds/awgtpman/testpoint.c
index 487ffd267f4357ad696b583d70b0af6f23263545..09d3a2df980f03b6cebd492abc28cabee78dbbe5 100644
--- a/src/gds/awgtpman/testpoint.c
+++ b/src/gds/awgtpman/testpoint.c
@@ -1078,7 +1078,6 @@ int testAwgTpInterfaceVersion(int node)
         return node_version[ node ];
     }
 
-    testpoint_t     tp[ 128 ];
     resultQueryTP_r result;
     memset (&result, 0, sizeof (resultQueryTP_r));
 
@@ -1095,6 +1094,8 @@ int testAwgTpInterfaceVersion(int node)
         return 0;
     }
 
+    // Test if TP_ASC_TP_INTERFACE is accessible
+    // if so, we must be older version 3, otherwise, something newer.
     if ((querytp_1 (tpNode[node].id, node, TP_ASC_TP_INTERFACE, 128, 0,
                     0, &result, clnt) == RPC_SUCCESS) && (result.status >= 0)) {
         printf("found version 3 or older test point interface\n");
@@ -1106,6 +1107,7 @@ int testAwgTpInterfaceVersion(int node)
         node_version[node] = 4;
     }
 
+    xdr_free ((xdrproc_t)xdr_resultQueryTP_r, (char*) &result);
     clnt_destroy (clnt);
     return node_version[node];
 }
\ No newline at end of file