Index: /trunk/Ohana/src/opihi/cmd.basic/list.c
===================================================================
--- /trunk/Ohana/src/opihi/cmd.basic/list.c	(revision 16426)
+++ /trunk/Ohana/src/opihi/cmd.basic/list.c	(revision 16427)
@@ -162,17 +162,20 @@
 
     /* get the next line (from correct place) */
-    if (ThisList == 0) 
+    if (ThisList == 0) {
       input = readline (prompt);
-    else 
+    } else {
       input = get_next_listentry (ThisList);
-
-    if (input == (char *) NULL) {
-      if (ThisList == 0)  {
-	gprint (GP_ERR, "end list with 'END'\n");
-	continue;
-      } else {
-	return (FALSE);
-      }	
-    }
+    }
+
+    if ((ThisList == 0) && (input == NULL)) {
+      gprint (GP_ERR, "end list with 'END'\n");
+      continue;
+    }
+    if ((ThisList >  0) && (input == NULL)) {
+      gprint (GP_ERR, "missing 'END' in list\n");
+      input = strcreate ("end");
+    }
+    if (ThisList == 0) ohana_memregister (input);
+
     stripwhite (input);
 
@@ -191,6 +194,7 @@
       sprintf (line, "%s:%d", argv[1], i);
       set_str_variable (line, input);
+      free (input);
       i++;
-    }
+   }
   }
   return (TRUE);
