diff --git a/src/sbbs3/scfg/GNUmakefile b/src/sbbs3/scfg/GNUmakefile
index f5a3ac5ce3844f4fa4915eefd8b1c253337199cc..4c02f8fefb48c813d2318ff4b402d402776b6b9b 100644
--- a/src/sbbs3/scfg/GNUmakefile
+++ b/src/sbbs3/scfg/GNUmakefile
@@ -15,7 +15,8 @@
 
 # Macros
 DEBUG	=	1		# Comment out for release (non-debug) version
-USE_DIALOG =	1	# Comment out for stdio (uifcx) version
+#USE_DIALOG =	1	# Dialog vesrion of UIFC
+USE_CURSES	=	1	# Curses version of UIFC
 CC		=	gcc
 SLASH	=	/
 OFILE	=	o
@@ -46,6 +47,11 @@ LFLAGS	:=	$(LFLAGS) -L../../libdialog -ldialog -lcurses
 CFLAGS	:=	$(CFLAGS) -I../../libdialog -DUSE_DIALOG
 endif
 
+ifdef USE_CURSES
+LFLAGS	:=	$(LFLAGS) -lcurses
+CFLAGS	:=	$(CFLAGS) -DUSE_CURSES
+endif
+
 # Math library needed
 LFLAGS	:=	$(LFLAGS) -lm
 
@@ -61,10 +67,14 @@ include targets.mk		# defines all targets
 include objects.mk		# defines $(OBJS)
 include headers.mk		# defines $(HEADERS)
 
-ifdef USE_DIALOG		# moved here from objects.mak
+ifdef USE_DIALOG		
 OBJS := $(OBJS)			$(ODIR)$(SLASH)uifcd.$(OFILE)
 endif
 
+ifdef USE_CURSES		
+OBJS := $(OBJS)			$(ODIR)$(SLASH)uifcc.$(OFILE)
+endif
+
 vpath %.c ..
 vpath %.c $(UIFC)
 vpath %.c $(XPDEV)
diff --git a/src/sbbs3/scfg/scfg.c b/src/sbbs3/scfg/scfg.c
index e2a175c4a41e369860ca9dc386d04351af98170c..e2c9a682ac94ad1e4e561be85ffa4f91caaa5506 100644
--- a/src/sbbs3/scfg/scfg.c
+++ b/src/sbbs3/scfg/scfg.c
@@ -159,7 +159,11 @@ backslashcolon(cfg.ctrl_dir);
 uifc.size=sizeof(uifc);
 #if defined(USE_DIALOG)
 if(!door_mode)
-    i=uifcinid(&uifc);  /* libdialog */
+    i=uifcinid(&uifc);  /* dialog */
+else
+#elif defined(USE_CURSES)
+if(!door_mode)
+    i=uifcinic(&uifc);  /* curses */
 else
 #elif !defined(__unix__)
 if(!door_mode)