Index: uspace/app/bdsh/exec.c
===================================================================
--- uspace/app/bdsh/exec.c	(revision 96e94347dd0af60c9e57403a95da7a05142ac685)
+++ uspace/app/bdsh/exec.c	(revision e70f1aebf531a75765d5ff51c108ac86cec6b53e)
@@ -66,6 +66,5 @@
 
 /** Returns the full path of "cmd" if cmd is found
- *
- * else just hand back cmd as it was presented
+ * or null if the cmd cannot be found
  */
 static char *find_command(char *cmd)
@@ -74,6 +73,9 @@
 
 	/* The user has specified a full or relative path, just give it back. */
-	if (-1 != try_access(cmd)) {
-		return str_dup(cmd);
+	size_t len = str_length(cmd);
+	if ((len > 1 && cmd[0] == '/') || (len > 2 && cmd[0] == '.' && cmd[1] == '/')) {
+		if (-1 != try_access(cmd)) {
+			return str_dup(cmd);
+		}
 	}
 
@@ -89,6 +91,6 @@
 	free(found);
 
-	/* We didn't find it, just give it back as-is. */
-	return str_dup(cmd);
+	/* We didn't find it, return NULL */
+	return NULL;
 }
 
@@ -105,4 +107,8 @@
 
 	tmp = find_command(cmd);
+	if (tmp == NULL) {
+		cli_error(CL_EEXEC, "%s: Command not found '%s'", progname, cmd);
+		return 1;
+	}
 
 	files[0] = io->stdin;
