diff --git a/Numeric/GaussQuadratureHex.cpp b/Numeric/GaussQuadratureHex.cpp
index ca9a3f8cf4fa56d48138b83cb9180b931871a783..08bbaeddf678dd7532e6941d7cecc4d884844c75 100644
--- a/Numeric/GaussQuadratureHex.cpp
+++ b/Numeric/GaussQuadratureHex.cpp
@@ -69,7 +69,7 @@ IntPt *getGQHPts(int order)
   if(order < 2) return GQH[order];
   if(order == 2) return GQH[3];
   if(order == 3) return GQH[3];
-  int n = (order+3)/2;
+  int n = (order + 1) / (float)2 + 0.5;
   int index = n-2 + 4;
   if(index >= (int)(sizeof(GQH) / sizeof(IntPt*))){
     Msg::Error("Increase size of GQH in gauss quadrature hex");
@@ -100,5 +100,6 @@ int getNGQHPts(int order)
   if(order == 2)return 8;
   if(order < 2)
     return GQHnPt[order];
-  return ((order+3)/2)*((order+3)/2)*((order+3)/2);
+  int n = (order + 1) / (float)2 + 0.5;
+  return n * n * n;
 }
diff --git a/Numeric/GaussQuadratureQuad.cpp b/Numeric/GaussQuadratureQuad.cpp
index 1aeae10efba9ae86902198edc7f65217c349b221..9eac4a4578f0da9d50031bce9a439ff1c541c30c 100644
--- a/Numeric/GaussQuadratureQuad.cpp
+++ b/Numeric/GaussQuadratureQuad.cpp
@@ -110,7 +110,7 @@ IntPt *getGQQPts(int order)
   if(order < 2) return GQQ[order];
   if(order == 2) return GQQ[3];
   if(order == 3) return GQQ[3];
-  int n = (order+3)/2;
+  int n = (order + 1) / (float)2 + 0.5;
   int index = n-2 + 7;
   if(index >= (int)(sizeof(GQQ) / sizeof(IntPt*))){
     Msg::Error("Increase size of GQQ in gauss quadrature quad");
@@ -139,5 +139,6 @@ int getNGQQPts(int order)
   if(order == 2) return 4;
   if(order < 2)
     return GQQnPt[order];
-  return ((order+3)/2)*((order+3)/2);
+  int n = (order + 1) / (float)2 + 0.5;
+  return n * n;
 }