diff --git a/src/sheap.h b/src/sheap.h
index 4af3cf482b1..db059d287c4 100644
--- a/src/sheap.h
+++ b/src/sheap.h
@@ -18,12 +18,12 @@ You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see . */
#include
+#include "lisp.h"
-#ifdef ENABLE_CHECKING
-# define STATIC_HEAP_SIZE (28 * 1024 * 1024)
-#else
-# define STATIC_HEAP_SIZE (19 * 1024 * 1024)
-#endif
+/* Size of the static heap. Guess a value that is probably too large,
+ by up to a factor of two or so. Typically the unused part is not
+ paged in and so does not cost much. */
+enum { STATIC_HEAP_SIZE = sizeof (Lisp_Object) << 21 };
extern char bss_sbrk_buffer[STATIC_HEAP_SIZE];
extern char *max_bss_sbrk_ptr;