diff --git a/src/core/eztrace_convert.c b/src/core/eztrace_convert.c
index 4082f40..45fc70c 100644
--- a/src/core/eztrace_convert.c
+++ b/src/core/eztrace_convert.c
@@ -34,14 +34,23 @@ parse_args (int argc, char **argv)
   int i;
   for (i = 1; i < argc; i++)
     {
-      if (strcmp (argv[i], "-o") == 0)
+      if (strcmp (argv[i], "-o") == 0) {
 	output_filename = argv[++i];
+	if (i >= argc) {
+	  fprintf(stderr,"-o needs a parameter\n");
+	  exit(-1);
+	}
+      }
       else if (strcmp (argv[i], "-v") == 0)
 	VERBOSE = 1;
       else if (strcmp (argv[i], "-z") == 0)
              compress = 1;
       else if (strcmp (argv[i], "-t") == 0){
 	char* trace_type = argv[++i];
+	if (i >= argc) {
+	  fprintf(stderr,"-t needs a parameter\n");
+	  exit(-1);
+	}
 	if(strcmp(trace_type, "PAJE") == 0) {
 	  printf("Setting trace type to PAJE\n");
 	  setTraceType (PAJE);
