diff --git a/source/blender/src/filesel.c b/source/blender/src/filesel.c
index 2e6ca4bf26bc242f150552f17c1612d02d97e3bc..6d9c4904691bfcaf5653a69c487aa7f0c50ebe6f 100644
--- a/source/blender/src/filesel.c
+++ b/source/blender/src/filesel.c
@@ -1178,18 +1178,20 @@ void drawfilespace(ScrArea *sa, void *spacedata)
 	}
 
 	menu= fsmenu_build_menu();
-	uiDefButS(block, MENU,	3, menu, scrollrct.xmin, filebuty1, scrollrct.xmax-scrollrct.xmin, 21, &sfile->menu, 0, 0, 0, 0, "");
+	if(menu[0])	// happens when no .Bfs is there, and first time browse
+		uiDefButS(block, MENU,	3, menu, scrollrct.xmin, filebuty1, scrollrct.xmax-scrollrct.xmin, 21, &sfile->menu, 0, 0, 0, 0, "");
 	MEM_freeN(menu);
 
 	uiDefBut(block, BUT,		4, "P", scrollrct.xmin, filebuty2, scrollrct.xmax-scrollrct.xmin, 21, 0, 0, 0, 0, 0, "Move to the parent directory (PKEY)");
 
+	uiDrawBlock(block);
+
 	draw_filescroll(sfile);
 	draw_filetext(sfile);
 	
 	/* others diskfree etc ? */
 	scrarea_queue_headredraw(curarea);	
 	
-	uiDrawBlock(block);
 	
 	curarea->win_swap= WIN_BACK_OK;
 }
diff --git a/source/blender/src/space.c b/source/blender/src/space.c
index 7e607854fb2bbefa98ed84027c80a5cec1b2178b..9770a50bac7dfe921ae9cae50e2c5aa8b1f46f6c 100644
--- a/source/blender/src/space.c
+++ b/source/blender/src/space.c
@@ -1220,7 +1220,6 @@ void winqreadipospace(ScrArea *sa, void *spacedata, BWinEvent *evt)
 {
 	unsigned short event= evt->event;
 	short val= evt->val;
-	char ascii= evt->ascii;
 	SpaceIpo *sipo= curarea->spacedata.first;
 	View2D *v2d= &sipo->v2d;
 	float dx, dy;
@@ -1903,7 +1902,7 @@ void winqreadinfospace(ScrArea *sa, void *spacedata, BWinEvent *evt)
 {
 	unsigned short event= evt->event;
 	short val= evt->val;
-	char ascii= evt->ascii;
+
 	if(val) {
 		if( uiDoBlocks(&curarea->uiblocks, event)!=UI_NOTHING ) event= 0;
 
@@ -1942,7 +1941,6 @@ void winqreadbutspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
 {
 	unsigned short event= evt->event;
 	short val= evt->val;
-	char ascii= evt->ascii;
 	SpaceButs *sbuts= curarea->spacedata.first;
 	ScrArea *sa2, *sa3d;
 	int doredraw= 0;
@@ -2101,7 +2099,6 @@ void winqreadseqspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
 {
 	unsigned short event= evt->event;
 	short val= evt->val;
-	char ascii= evt->ascii;
 	SpaceSeq *sseq= curarea->spacedata.first;
 	View2D *v2d= &sseq->v2d;
 	extern Sequence *last_seq;
@@ -2485,7 +2482,6 @@ void winqreadimagespace(ScrArea *sa, void *spacedata, BWinEvent *evt)
 {
 	unsigned short event= evt->event;
 	short val= evt->val;
-	char ascii= evt->ascii;
 	SpaceImage *sima= curarea->spacedata.first;
 	View2D *v2d= &sima->v2d;
 #ifdef NAN_TPT
@@ -2639,7 +2635,6 @@ void winqreadoopsspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
 {
 	unsigned short event= evt->event;
 	short val= evt->val;
-	char ascii= evt->ascii;
 	SpaceOops *soops= curarea->spacedata.first;
 	View2D *v2d= &soops->v2d;
 	float dx, dy;