diff --git a/src/openocd.c b/src/openocd.c
index 834b11d92fbb6c409261a010805b6118ecaba1d1..6bf163f5b040bae79a00a6a5b971dccfe8733990 100644
--- a/src/openocd.c
+++ b/src/openocd.c
@@ -381,10 +381,6 @@ static void tcl_output(void *privData, const char *file, int line, const char *f
 int jim_command(command_context_t *context, char *line)
 {
 	int retval=ERROR_OK;
-	/* FIX!!!! in reality there is only one cmd_ctx handler, but consider
-	what might happen here if there are multiple handlers w/reentrant callback
-	fn's... shudder!  */
-	active_cmd_ctx=context;
 	int retcode=Jim_Eval(interp, line);
 	
 	const char *result;
@@ -685,6 +681,8 @@ int openocd_main(int argc, char *argv[])
 	cfg_cmd_ctx->mode = COMMAND_CONFIG;
 	command_set_output_handler(cfg_cmd_ctx, configuration_output_handler, NULL);
 	
+	active_cmd_ctx=cfg_cmd_ctx;
+	
 	if (parse_cmdline_args(cfg_cmd_ctx, argc, argv) != ERROR_OK)
 		return EXIT_FAILURE;
 
@@ -693,6 +691,8 @@ int openocd_main(int argc, char *argv[])
 	if (parse_config_file(cfg_cmd_ctx) != ERROR_OK)
 		return EXIT_FAILURE;
 	
+	active_cmd_ctx=cmd_ctx;
+	
 	command_done(cfg_cmd_ctx);
 
 	if (command_run_line(cmd_ctx, "init")!=ERROR_OK)
diff --git a/src/tcl/commands.tcl b/src/tcl/commands.tcl
index a272c1342ec3e17000dcb181820f56396107dc14..a2cf0812df22e504f1af2f80d9f4a910e499ce33 100644
--- a/src/tcl/commands.tcl
+++ b/src/tcl/commands.tcl
@@ -1,9 +1,4 @@
 
-# implements Tcl procedures/functions
-proc peek {address} {
-	return [openocd_throw "mdw $address"]
-}
-
 # Production command
 # FIX!!! need to figure out how to feed back relevant output
 # from e.g. "flash banks" command...