diff --git a/indra/newview/llfloaterchat.cpp b/indra/newview/llfloaterchat.cpp
index bddae82b7f21bcf2d7c3f9d8e93cbf3434e3d8cc..93eb24f36d51132a49e614a650ddfdb80e9cc292 100644
--- a/indra/newview/llfloaterchat.cpp
+++ b/indra/newview/llfloaterchat.cpp
@@ -47,9 +47,6 @@
 #include "llfloaterhtml.h"
 #include "llweb.h"
 
-// Used for LCD display
-extern void AddNewIMToLCD(const LLString &newLine);
-extern void AddNewChatToLCD(const LLString &newLine);
 //
 // Constants
 //
@@ -333,20 +330,6 @@ void LLFloaterChat::addChat(const LLChat& chat,
 			chat.mChatType == CHAT_TYPE_DEBUG_MSG
 			&& !gSavedSettings.getBOOL("ScriptErrorsAsChat");
 
-#if LL_WINDOWS
-	// add into LCD displays
-	if (!invisible_script_debug_chat)
-	{
-		if (!from_instant_message)
-		{
-			AddNewChatToLCD(chat.mText);
-		}
-		else
-		{
-			AddNewIMToLCD(chat.mText);
-		}
-	}
-#endif
 	if (!invisible_script_debug_chat 
 		&& !chat.mMuted 
 		&& gConsole 
diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp
index 5364b7da858200f19c44495c3baeeeea7a262219..b5b334310313d3d7b7595ecac2367ec628fa90f1 100644
--- a/indra/newview/llfloaterpreference.cpp
+++ b/indra/newview/llfloaterpreference.cpp
@@ -31,7 +31,6 @@
 #include "llpaneldebug.h"
 #include "llpanelgeneral.h"
 #include "llpanelinput.h"
-#include "llpanelLCD.h"
 #include "llpanelmsgs.h"
 //#include "llpanelweb.h"
 #include "llprefschat.h"
@@ -58,14 +57,6 @@ const S32 PREF_FLOATER_MIN_HEIGHT = 2 * SCROLLBAR_SIZE + 2 * LLPANEL_BORDER_WIDT
 
 LLFloaterPreference* LLFloaterPreference::sInstance = NULL;
 
-#if LL_WINDOWS
-// for Logitech LCD keyboards / speakers
-#ifndef LL_LCD_H
-#include "..\Logitech_LCD\LCD.h"
-#endif
-extern cLCD	*LcdScreen; 
-#endif
-
 // Must be done at run time, not compile time. JC
 S32 pref_min_width()
 {
@@ -94,7 +85,6 @@ LLPreferenceCore::LLPreferenceCore(LLTabContainerCommon* tab_container, LLButton
 	mDisplayPanel(NULL),
 	mDisplayPanel2(NULL),
 	mAudioPanel(NULL),
-	mLCDPanel(NULL),
 	mMsgPanel(NULL)
 {
 	mGeneralPanel = new LLPanelGeneral();
@@ -133,15 +123,6 @@ LLPreferenceCore::LLPreferenceCore(LLTabContainerCommon* tab_container, LLButton
 	mTabContainer->addTabPanel(mPrefsIM->getPanel(), mPrefsIM->getPanel()->getLabel(), FALSE, onTabChanged, mTabContainer);
 	mPrefsIM->getPanel()->setDefaultBtn(default_btn);
 
-#if LL_WINDOWS
-	// only add this option if we actually have a logitech keyboard / speaker set
-	if (LcdScreen->Enabled())
-	{
-		mLCDPanel = new LLPanelLCD();
-		mTabContainer->addTabPanel(mLCDPanel, mLCDPanel->getLabel(), FALSE, onTabChanged, mTabContainer);
-		mLCDPanel->setDefaultBtn(default_btn);
-	}
-#endif
 	mMsgPanel = new LLPanelMsgs();
 	gUICtrlFactory->buildPanel(mMsgPanel, "panel_settings_msgbox.xml");
 	mTabContainer->addTabPanel(mMsgPanel, mMsgPanel->getLabel(), FALSE, onTabChanged, mTabContainer);
@@ -227,13 +208,6 @@ void LLPreferenceCore::apply()
 	mPrefsChat->apply();
 	mPrefsIM->apply();
 	mMsgPanel->apply();
-#if LL_WINDOWS
-	// only add this option if we actually have a logitech keyboard / speaker set
-	if (LcdScreen->Enabled())
-	{
-		mLCDPanel->apply();
-	}
-#endif
 //	mWebPanel->apply();
 }
 
@@ -250,13 +224,6 @@ void LLPreferenceCore::cancel()
 	mPrefsChat->cancel();
 	mPrefsIM->cancel();
 	mMsgPanel->cancel();
-#if LL_WINDOWS
-	// only add this option if we actually have a logitech keyboard / speaker set
-	if (LcdScreen->Enabled())
-	{
-		mLCDPanel->cancel();
-	}
-#endif
 //	mWebPanel->cancel();
 }
 
diff --git a/indra/newview/llfloaterpreference.h b/indra/newview/llfloaterpreference.h
index 8d4078cc9b9f9e8cb58d9a255ec026deef84f06e..50eb938de2a430bc1b8019e35346cf5413a4e7dc 100644
--- a/indra/newview/llfloaterpreference.h
+++ b/indra/newview/llfloaterpreference.h
@@ -20,7 +20,6 @@
 
 class LLPanelGeneral;
 class LLPanelInput;
-class LLPanelLCD;
 class LLPanelDisplay;
 class LLPanelDisplay2;
 class LLPanelDisplay3;
@@ -66,7 +65,6 @@ class LLPreferenceCore
 	LLPrefsChat				*mPrefsChat;
 	LLPrefsIM				*mPrefsIM;
 	LLPanelMsgs				*mMsgPanel;
-	LLPanelLCD				*mLCDPanel;
 //	LLPanelWeb*				mWebPanel;
 };
 
diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp
index 6990102d249240f8109902666bf83b5790e09025..72aca1999ead2f342c71658076d82baf0009fa5c 100644
--- a/indra/newview/llstatusbar.cpp
+++ b/indra/newview/llstatusbar.cpp
@@ -403,10 +403,6 @@ void LLStatusBar::refresh()
 			pos_y -= pos_y % 2;
 		}
 
-		mRegionDetails.mTime = mTextTime->getText();
-		mRegionDetails.mBalance = mBalance;
-		mRegionDetails.mAccesString = (char *)region->getSimAccessString();
-		mRegionDetails.mPing = region->getNetDetailsForLCD();
 		if (parcel && parcel->getName())
 		{
 			location_name = region->getName()
@@ -414,43 +410,6 @@ void LLStatusBar::refresh()
 						   pos_x, pos_y, pos_z,
 						   region->getSimAccessString(),
 						   parcel->getName());
-
-			// keep these around for the LCD to use
-			mRegionDetails.mRegionName = region->getName();
-			mRegionDetails.mParcelName = (char *)parcel->getName();
-			mRegionDetails.mX = pos_x;
-			mRegionDetails.mY = pos_y;
-			mRegionDetails.mZ = pos_z;
-			mRegionDetails.mArea = parcel->getArea();
-			mRegionDetails.mForSale = parcel->getForSale();
-			mRegionDetails.mTraffic = gParcelMgr->getDwelling();
-			
-			if (parcel->isPublic())
-			{
-				snprintf(mRegionDetails.mOwner, MAX_STRING, "Public");
-			}
-			else
-			{
-				if (parcel->getIsGroupOwned())
-				{
-					if(!parcel->getGroupID().isNull())
-					{
-						gCacheName->getGroupName(parcel->getGroupID(), mRegionDetails.mOwner);
-					}
-					else
-					{
-						snprintf(mRegionDetails.mOwner, MAX_STRING, "Group Owned");
-					}
-				}
-				else
-				{
-					// Figure out the owner's name
-					char owner_first[MAX_STRING];	/*Flawfinder: ignore*/
-					char owner_last[MAX_STRING];	/*Flawfinder: ignore*/
-					gCacheName->getName(parcel->getOwnerID(), owner_first, owner_last);
-					snprintf(mRegionDetails.mOwner, MAX_STRING, "%s %s", owner_first, owner_last); 		/* Flawfinder: ignore */
-				}
-			}
 		}
 		else
 		{
@@ -458,34 +417,12 @@ void LLStatusBar::refresh()
 				+ llformat(" %d, %d, %d (%s)", 
 						   pos_x, pos_y, pos_z,
 						   region->getSimAccessString());
-			// keep these around for the LCD to use
-			mRegionDetails.mRegionName = region->getName();
-			mRegionDetails.mParcelName = "Unknown";
-			
-			mRegionDetails.mX = pos_x;
-			mRegionDetails.mY = pos_y;
-			mRegionDetails.mZ = pos_z;
-			mRegionDetails.mArea = 0;
-			mRegionDetails.mForSale = FALSE;
-			snprintf(mRegionDetails.mOwner, MAX_STRING, "Unknown");
-			mRegionDetails.mTraffic = 0.0f;
 		}
 	}
 	else
 	{
 		// no region
 		location_name = "(Unknown)";
-		// keep these around for the LCD to use
-		mRegionDetails.mRegionName = LLString("Unknown");
-		mRegionDetails.mParcelName = "Unknown";
-		mRegionDetails.mAccesString = "Unknown";
-		mRegionDetails.mX = 0;
-		mRegionDetails.mY = 0;
-		mRegionDetails.mZ = 0;
-		mRegionDetails.mArea = 0;
-		mRegionDetails.mForSale = FALSE;
-		snprintf(mRegionDetails.mOwner, MAX_STRING, "Unknown");
-		mRegionDetails.mTraffic = 0.0f;
 	}
 	mTextParcelName->setText(location_name);
 
diff --git a/indra/newview/llstatusbar.h b/indra/newview/llstatusbar.h
index f33a5d93e1426cbc2e59c09213c245e1131a76c2..c44c7acffec7f8b585a5dd5d86e9ee83180428a3 100644
--- a/indra/newview/llstatusbar.h
+++ b/indra/newview/llstatusbar.h
@@ -24,25 +24,6 @@ class LLUUID;
 class LLFrameTimer;
 class LLStatGraph;
 
-// used by LCD screen
-class cLLRegionDetails
-{
-public:
-	LLString mRegionName;
-	char	*mParcelName;
-	char	*mAccesString;
-	S32		mX;
-	S32		mY;
-	S32		mZ;
-	S32		mArea;
-	BOOL	mForSale;
-	char	mOwner[MAX_STRING];
-	F32		mTraffic;
-	S32		mBalance;
-	LLString	mTime;
-	U32		mPing;
-};
-
 class LLStatusBar
 :	public LLPanel
 {
@@ -79,7 +60,6 @@ class LLStatusBar
 	S32 getSquareMetersCredit() const;
 	S32 getSquareMetersCommitted() const;
 	S32 getSquareMetersLeft() const;
-	cLLRegionDetails mRegionDetails;
 
 protected:
 	static void onClickParcelInfo(void*);
diff --git a/indra/newview/llviewerparcelmgr.h b/indra/newview/llviewerparcelmgr.h
index ae288d70eceb9b7276e66f64b151559ccb955cfb..879ce2dd8a72915df81c228e2c31a6223df4ecad 100644
--- a/indra/newview/llviewerparcelmgr.h
+++ b/indra/newview/llviewerparcelmgr.h
@@ -104,7 +104,6 @@ class LLViewerParcelMgr
 	F32		getSelectionHeight() const	{ return F32(mEastNorth.mdV[VY] - mWestSouth.mdV[VY]); }
 	BOOL	getSelection(LLVector3d &min, LLVector3d &max) { min = mWestSouth; max = mEastNorth; return !selectionEmpty();}
 	LLViewerRegion* getSelectionRegion();
-	F32		getDwelling() const { return mSelectedDwell;}
 
 	void	getDisplayInfo(S32* area, S32* claim, S32* rent, BOOL* for_sale, F32* dwell);
 
diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp
index 303e83d672b92d1afe7146d5024f65269e3fd101..b53480ec13cda154ba7df468ff649d35d3924e64 100644
--- a/indra/newview/llviewerregion.cpp
+++ b/indra/newview/llviewerregion.cpp
@@ -731,10 +731,7 @@ void LLViewerRegion::calculateCameraDistance()
 	mCameraDistanceSquared = (F32)(gAgent.getCameraPositionGlobal() - getCenterGlobal()).magVecSquared();
 }
 
-U32 LLViewerRegion::getNetDetailsForLCD()
-{
-	return mPingDelay;
-}
+// ---------------- Friends ----------------
 
 std::ostream& operator<<(std::ostream &s, const LLViewerRegion &region)
 {
diff --git a/indra/newview/llviewerregion.h b/indra/newview/llviewerregion.h
index a1b9cfd3eae9913a851c2a26d29335989cee3139..05c37fe08ffc97a589ddd3d24412497e35418209 100644
--- a/indra/newview/llviewerregion.h
+++ b/indra/newview/llviewerregion.h
@@ -212,9 +212,6 @@ class LLViewerRegion
 
 	friend std::ostream& operator<<(std::ostream &s, const LLViewerRegion &region);
 
-	// used by LCD to get details for debug screen
-	U32 getNetDetailsForLCD();
-
 public:
 	struct CompareDistance
 	{
diff --git a/indra/newview/llviewerstats.cpp b/indra/newview/llviewerstats.cpp
index fefa86123d72b4df946f871ffc6ae906f1f06a17..f1df0d39e0688869c2e0806d32b94d9f6fb0d9bc 100644
--- a/indra/newview/llviewerstats.cpp
+++ b/indra/newview/llviewerstats.cpp
@@ -153,11 +153,7 @@ const StatAttributes STAT_INFO[LLViewerStats::ST_COUNT] =
 	// ST_TEX_BAKES
 	StatAttributes("Texture Bakes", FALSE, FALSE),
 	// ST_TEX_REBAKES
-	StatAttributes("Texture Rebakes", FALSE, FALSE),
-
-	// ST_LOGITECH_KEYBOARD
-	StatAttributes("Logitech LCD", FALSE, FALSE)
-
+	StatAttributes("Texture Rebakes", FALSE, FALSE)
 };
 
 LLViewerStats::LLViewerStats()
diff --git a/indra/newview/llviewerstats.h b/indra/newview/llviewerstats.h
index f0ef106054118405038a0ac79f90c4493e495b41..33ed6bcbcf8e8d0d1b3b9dac79ab46a25248c87c 100644
--- a/indra/newview/llviewerstats.h
+++ b/indra/newview/llviewerstats.h
@@ -137,9 +137,8 @@ class LLViewerStats
 		ST_WINDOW_HEIGHT = 55,
 		ST_TEX_BAKES = 56,
 		ST_TEX_REBAKES = 57,
-		ST_LOGITECH_LCD = 58,
 		
-		ST_COUNT = 59
+		ST_COUNT = 58
 	};
 
 
diff --git a/indra/newview/res/icon1.ico b/indra/newview/res/icon1.ico
deleted file mode 100644
index ad607598fa4b33036f8450ef4af8764f80ee5146..0000000000000000000000000000000000000000
Binary files a/indra/newview/res/icon1.ico and /dev/null differ
diff --git a/indra/newview/res/resource.h b/indra/newview/res/resource.h
index e4d01b1050970a127e7ed25e83a20d6f8707e4c5..c7e1552dff8dc5834a8bd112d9b70cc5ae73cda0 100644
--- a/indra/newview/res/resource.h
+++ b/indra/newview/res/resource.h
@@ -19,7 +19,6 @@
 #define IDB_LOGIN                       149
 #define IDC_CURSOR4                     153
 #define IDC_CURSOR5                     154
-#define IDI_LCD_LL_ICON                 157
 #define IDC_RADIO_56                    1000
 #define IDC_RADIO_128                   1001
 #define IDC_RADIO_256                   1002
@@ -152,7 +151,7 @@
 // 
 #ifdef APSTUDIO_INVOKED
 #ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE        167
+#define _APS_NEXT_RESOURCE_VALUE        156
 #define _APS_NEXT_COMMAND_VALUE         40002
 #define _APS_NEXT_CONTROL_VALUE         1139
 #define _APS_NEXT_SYMED_VALUE           101