diff --git a/ChangeLog b/ChangeLog
index b6af7feabd72b041188adecad065f6176e186907..aa3daeb34d0dae8c11e1ebc3189a6c77854d7a10 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2018-12-26  Niels Möller  <nisse@lysator.liu.se>
 
+	* eccdata.c (ecc_pippenger_precompute): Check that table size is
+	at least 2. Intended to silence warning from the clang static
+	analyzer.
+
 	* configure.ac: Bump package version to 3.5.
 	(LIBNETTLE_MAJOR): Bump major number, now 7.
 	(LIBHOGWEED_MAJOR): Bump major number, now 5.
diff --git a/eccdata.c b/eccdata.c
index 51ecde3592d73435d344196b6d3d3511c3e0c235..8aa57e06214b0ac43f504ef39869defe1c9b77d3 100644
--- a/eccdata.c
+++ b/eccdata.c
@@ -650,6 +650,12 @@ ecc_pippenger_precompute (struct ecc_curve *ecc, unsigned k, unsigned c)
   unsigned M = ecc_table_size (ecc->bit_size, k, c);
   unsigned i, j;
 
+  if (M < 2)
+    {
+      fprintf (stderr, "Invalid parameters, implies M = %u\n", M);
+      exit (EXIT_FAILURE);
+    }
+
   if (M == ecc_table_size (ecc->bit_size, k-1, c))
     fprintf(stderr,
 	    "warn: Parameters k = %u, c = %d are suboptimal, could use smaller k\n",