diff --git a/console-tools/Config.in b/console-tools/Config.in
index 27b14a8..ec2273c 100644
--- a/console-tools/Config.in
+++ b/console-tools/Config.in
@@ -58,23 +58,6 @@
 	  This program is used to reset the terminal screen, if it
 	  gets messed up.
 
-config CONFIG_APP_RESIZE
-	bool "resize"
-	default n
-	help
-	  This program is used to (re)set the width and height of your current
-	  terminal.
-
-config CONFIG_FEATURE_RESIZE_PRINT
-	bool "print environment variables"
-	default n
-	depends on CONFIG_APP_RESIZE
-	help
-	  Prints the newly set size (number of columns and rows) of
-	  the terminal.
-	  E.g.:
-	  COLUMNS=80;LINES=44;export COLUMNS LINES;
-
 config CONFIG_SETCONSOLE
 	bool "setconsole"
 	default n
diff --git a/console-tools/Makefile.in b/console-tools/Makefile.in
index 92331f5..437bcd0 100644
--- a/console-tools/Makefile.in
+++ b/console-tools/Makefile.in
@@ -20,7 +20,6 @@
 CONSOLETOOLS-$(CONFIG_LOADKMAP)	+= loadkmap.o
 CONSOLETOOLS-$(CONFIG_OPENVT)	+= openvt.o
 CONSOLETOOLS-$(CONFIG_RESET)	+= reset.o
-CONSOLETOOLS-$(CONFIG_APP_RESIZE)	+= resize.o
 CONSOLETOOLS-$(CONFIG_SETKEYCODES)	+= setkeycodes.o
 CONSOLETOOLS-$(CONFIG_SETLOGCONS)	+= setlogcons.o
 
diff --git a/console-tools/resize.c b/console-tools/resize.c
index 4aaf2f2..e69de29 100644
--- a/console-tools/resize.c
+++ b/console-tools/resize.c
@@ -1,38 +0,0 @@
-/* vi: set sw=4 ts=4: */
-/*
- * resize - set terminal width and height.
- *
- * Copyright 2006 Bernhard Fischer
- *
- * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
- */
-/* no options, no getopt */
-#include "busybox.h"
-
-int resize_main(int argc, char **argv)
-{
-	struct termios old, new;
-	struct winsize w = {0,0,0,0};
-	int ret;
-
-	tcgetattr(STDOUT_FILENO, &old); /* fiddle echo */
-	new = old;
-	new.c_cflag |= (CLOCAL | CREAD);
-	new.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
-	tcsetattr(STDOUT_FILENO, TCSANOW, &new);
-	/* save_cursor_pos 7
-	 * scroll_whole_screen [r
-	 * put_cursor_waaaay_off [$x;$yH
-	 * get_cursor_pos [6n
-	 * restore_cursor_pos 8
-	 */
-	printf("\0337\033[r\033[999;999H\033[6n");
-	scanf("\033[%hu;%huR", &w.ws_row, &w.ws_col);
-	ret = ioctl(STDOUT_FILENO, TIOCSWINSZ, &w);
-	printf("\0338");
-	tcsetattr(STDOUT_FILENO, TCSANOW, &old);
-	if (ENABLE_FEATURE_RESIZE_PRINT)
-		printf("COLUMNS=%d;LINES=%d;export COLUMNS LINES;",
-			w.ws_col, w.ws_row);
-	return ret;
-}
diff --git a/include/applets.h b/include/applets.h
index 0263a20..c75866d 100644
--- a/include/applets.h
+++ b/include/applets.h
@@ -58,6 +58,7 @@
 USE_AWK(APPLET(awk, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 USE_BASENAME(APPLET(basename, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 USE_BBCONFIG(APPLET(bbconfig, _BB_DIR_BIN, _BB_SUID_NEVER))
+//USE_BBSH(APPLET(bbsh, _BB_DIR_BIN, _BB_SUID_NEVER))
 USE_BUNZIP2(APPLET(bunzip2, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 /* Always enabled. */
 APPLET_NOUSAGE(busybox, busybox, _BB_DIR_BIN, _BB_SUID_MAYBE)
@@ -226,7 +227,6 @@
 USE_HALT(APPLET_ODDNAME(reboot, halt, _BB_DIR_SBIN, _BB_SUID_NEVER, reboot))
 USE_RENICE(APPLET(renice, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 USE_RESET(APPLET(reset, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
-USE_APP_RESIZE(APPLET(resize, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 USE_RM(APPLET(rm, _BB_DIR_BIN, _BB_SUID_NEVER))
 USE_RMDIR(APPLET(rmdir, _BB_DIR_BIN, _BB_SUID_NEVER))
 USE_RMMOD(APPLET(rmmod, _BB_DIR_SBIN, _BB_SUID_NEVER))
diff --git a/include/usage.h b/include/usage.h
index d7b8b2a..6ef7f1e 100644
--- a/include/usage.h
+++ b/include/usage.h
@@ -2455,11 +2455,6 @@
 #define reset_full_usage \
 	"Resets the screen."
 
-#define resize_trivial_usage \
-	""
-#define resize_full_usage \
-	"Resizes the screen."
-
 #define rm_trivial_usage \
 	"[OPTION]... FILE..."
 #define rm_full_usage \
