diff --git a/malloc/arena.c b/malloc/arena.c
index ddde32c7121257b4140c902f40971385411bab52..1b73f74a021f5fd843c0ddf09568a75f67824e29 100644
--- a/malloc/arena.c
+++ b/malloc/arena.c
@@ -813,16 +813,11 @@ arena_get2 (size_t size, mstate avoid_arena)
         {
           if (mp_.arena_max != 0)
             narenas_limit = mp_.arena_max;
-          else if (narenas > mp_.arena_test)
+          else if (narenas >= mp_.arena_test)
             {
-              int n = __get_nprocs ();
-
-              if (n >= 1)
-                narenas_limit = NARENAS_FROM_NCORES (n);
-              else
-                /* We have no information about the system.  Assume two
-                   cores.  */
-                narenas_limit = NARENAS_FROM_NCORES (2);
+	      narenas_limit = __get_nprocs ();
+	      if (narenas_limit < mp_.arena_test)
+		narenas_limit = mp_.arena_test;
             }
         }
     repeat:;
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 6a888b0eb7de53ae7b814275e86d2bd2f06b5e53..48fb368b245833ec10bed4234946ad8cc57d7bfc 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -1812,8 +1812,7 @@ static struct malloc_par mp_ =
   .n_mmaps_max = DEFAULT_MMAP_MAX,
   .mmap_threshold = DEFAULT_MMAP_THRESHOLD,
   .trim_threshold = DEFAULT_TRIM_THRESHOLD,
-#define NARENAS_FROM_NCORES(n) ((n) * (sizeof (long) == 4 ? 2 : 8))
-  .arena_test = NARENAS_FROM_NCORES (1),
+  .arena_test = 8,
   .thp_mode = malloc_thp_mode_not_supported
 #if USE_TCACHE
   ,
diff --git a/manual/memory.texi b/manual/memory.texi
index 4f0ef51514057136c14ceb6811face0117e69272..35ebe499287035d1dd4bf900debfc7b251ef747a 100644
--- a/manual/memory.texi
+++ b/manual/memory.texi
@@ -1384,8 +1384,7 @@ This parameter specifies the number of arenas that can be created before the
 test on the limit to the number of arenas is conducted. The value is ignored if
 @code{M_ARENA_MAX} is set.
 
-The default value of this parameter is 2 on 32-bit systems and 8 on 64-bit
-systems.
+The default value of this parameter is 8.
 
 This parameter can also be set for the process at startup by setting the
 environment variable @env{MALLOC_ARENA_TEST} to the desired value.
@@ -1395,10 +1394,9 @@ This parameter sets the number of arenas to use regardless of the number of
 cores in the system.
 
 The default value of this tunable is @code{0}, meaning that the limit on the
-number of arenas is determined by the number of CPU cores online. For 32-bit
-systems the limit is twice the number of cores online and on 64-bit systems, it
-is eight times the number of cores online.  Note that the default value is not
-derived from the default value of M_ARENA_TEST and is computed independently.
+number of arenas is determined by the number of CPU cores online. The limit is
+the number of cores online.  Note that the default value is not derived from
+the default value of M_ARENA_TEST and is computed independently.
 
 This parameter can also be set for the process at startup by setting the
 environment variable @env{MALLOC_ARENA_MAX} to the desired value.
