diff --git a/tests/suites/test_suite_ecp.function b/tests/suites/test_suite_ecp.function
index b8b5d9a..c3e6b05 100644
--- a/tests/suites/test_suite_ecp.function
+++ b/tests/suites/test_suite_ecp.function
@@ -17,38 +17,38 @@
     mbedtls_ecp_point_init( x );
 
 /* Auxiliary function to compare two mbedtls_ecp_group objects. */
-inline static int mbedtls_ecp_group_cmp( mbedtls_ecp_group *P,
-                                         mbedtls_ecp_group *Q )
+inline static int mbedtls_ecp_group_cmp( mbedtls_ecp_group *grp1,
+                                         mbedtls_ecp_group *grp2 )
 {
-    if( mbedtls_mpi_cmp_mpi( &P->P, &Q->P ) != 0 )
+    if( mbedtls_mpi_cmp_mpi( &grp1->P, &grp2->P ) != 0 )
         return 1;
-    if( mbedtls_mpi_cmp_mpi( &P->A, &Q->A ) != 0 )
+    if( mbedtls_mpi_cmp_mpi( &grp1->A, &grp2->A ) != 0 )
         return 1;
-    if( mbedtls_mpi_cmp_mpi( &P->B, &Q->B ) != 0 )
+    if( mbedtls_mpi_cmp_mpi( &grp1->B, &grp2->B ) != 0 )
         return 1;
-    if( mbedtls_mpi_cmp_mpi( &P->N, &Q->N ) != 0 )
+    if( mbedtls_mpi_cmp_mpi( &grp1->N, &grp2->N ) != 0 )
         return 1;
-    if( mbedtls_ecp_point_cmp( &P->G, &Q->G ) != 0 )
+    if( mbedtls_ecp_point_cmp( &grp1->G, &grp2->G ) != 0 )
         return 1;
-    if( P->id != Q->id )
+    if( grp1->id != grp2->id )
         return 1;
-    if( P->pbits != Q->pbits )
+    if( grp1->pbits != grp2->pbits )
         return 1;
-    if( P->nbits != Q->nbits )
+    if( grp1->nbits != grp2->nbits )
         return 1;
-    if( P->h != Q->h )
+    if( grp1->h != grp2->h )
         return 1;
-    if( P->modp != Q->modp )
+    if( grp1->modp != grp2->modp )
         return 1;
-    if( P->t_pre != Q->t_pre )
+    if( grp1->t_pre != grp2->t_pre )
         return 1;
-    if( P->t_post != Q->t_post )
+    if( grp1->t_post != grp2->t_post )
         return 1;
-    if( P->t_data != Q->t_data )
+    if( grp1->t_data != grp2->t_data )
         return 1;
-    if( P->T_size != Q->T_size )
+    if( grp1->T_size != grp2->T_size )
         return 1;
-    if( P->T != Q->T )
+    if( grp1->T != grp2->T )
         return 1;
 
     return 0;
