diff --git a/src/encode.c b/src/encode.c
index 06ff1acf10c6d78e91af70c25fb01efce67612f4..2f458a5ba2cd24106b6d1b6cd67357f341e0c3a8 100644
--- a/src/encode.c
+++ b/src/encode.c
@@ -1854,6 +1854,8 @@ static void encode_value2(struct svalue *val, struct encode_data *data, int forc
 	      code_number(d_max, data);
 
 	      /* name */
+              if (!inh->name)
+                  Pike_error("Cannot encode programs with unnamed inherits.\n");
 	      str_sval.u.string = inh->name;
 	      encode_value2(&str_sval, data, 0);