diff --git a/src/main.c b/src/main.c
index 47087754aac6c4c2f98bcbacf8ee45add2fd9cc5..a4685acf52d6289abc705a49da37a9a7af6f5c7a 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1532,9 +1532,21 @@ operate(struct Configurable *config, int argc, char *argv[])
   /* loop through the list of given URLs */
   while(urlnode) {
 
-    /* get the full URL */
+    /* get the full URL (it might be NULL) */
     url=urlnode->url;
 
+    if(NULL == url) {
+      /* This node had no URL, skip it and continue to the next */
+      if(urlnode->outfile)
+        free(urlnode->outfile);
+    
+      /* move on to the next URL */
+      nextnode=urlnode->next;
+      free(urlnode); /* free the node */
+      urlnode = nextnode;
+      continue; /* next please */
+    }
+
     /* default output stream is stdout */
     outs.stream = stdout;
     outs.config = config;