diff --git a/gui/action.cpp b/gui/action.cpp
old mode 100644
new mode 100755
index d708dd4..11d9580
--- a/gui/action.cpp
+++ b/gui/action.cpp
@@ -516,8 +516,12 @@
 	blankTimer.resetTimerAndUnblank();
 	property_set("twrp.action_complete", "1");
 	time(&Stop);
+
+#ifndef TW_NO_HAPTICS
 	if ((int) difftime(Stop, Start) > 10)
 		DataManager::Vibrate("tw_action_vibrate");
+#endif
+
 	LOGINFO("operation_end - status=%d\n", operation_status);
 }
 
diff --git a/gui/button.cpp b/gui/button.cpp
old mode 100644
new mode 100755
index dfae5e2..7c7f69f
--- a/gui/button.cpp
+++ b/gui/button.cpp
@@ -248,7 +248,10 @@
 	} else {
 		if (last_state == 0) {
 			last_state = 1;
+
+#ifndef TW_NO_HAPTICS
 			DataManager::Vibrate("tw_button_vibrate");
+#endif
 			if (mButtonLabel != NULL)
 				mButtonLabel->isHighlighted = true;
 			if (mButtonImg != NULL)
diff --git a/gui/checkbox.cpp b/gui/checkbox.cpp
old mode 100644
new mode 100755
index de63cba..025a803
--- a/gui/checkbox.cpp
+++ b/gui/checkbox.cpp
@@ -179,7 +179,10 @@
 		lastState = (lastState == 0) ? 1 : 0;
 		DataManager::SetValue(mVarName, lastState);
 
+#ifndef TW_NO_HAPTICS
 		DataManager::Vibrate("tw_button_vibrate");
+#endif
+
 	}
 	return 0;
 }
diff --git a/gui/keyboard.cpp b/gui/keyboard.cpp
old mode 100644
new mode 100755
index ca7006d..b6a772b
--- a/gui/keyboard.cpp
+++ b/gui/keyboard.cpp
@@ -549,7 +549,11 @@
 			bool repeatKey = false;
 			Layout& lay = layouts[currentLayout - 1];
 			if (state == TOUCH_RELEASE && was_held == 0) {
+
+#ifndef TW_NO_HAPTICS
 				DataManager::Vibrate("tw_keyboard_vibrate");
+#endif
+
 				if (key.layout > 0) {
 					// Switch layouts
 					if (lay.is_caps && key.layout == lay.revert_layout && !CapsLockOn) {
@@ -593,7 +597,11 @@
 				was_held = 1;
 				if (key.longpresskey > 0) {
 					// Long Press Key
+
+#ifndef TW_NO_HAPTICS
 					DataManager::Vibrate("tw_keyboard_vibrate");
+#endif
+
 					PageManager::NotifyCharInput(key.longpresskey);
 				}
 				else
diff --git a/gui/patternpassword.cpp b/gui/patternpassword.cpp
old mode 100644
new mode 100755
index 5559f9d..a75ed15
--- a/gui/patternpassword.cpp
+++ b/gui/patternpassword.cpp
@@ -370,7 +370,11 @@
 			mTrackingTouch = true;
 			ResetActiveDots();
 			ConnectDot(dot_idx);
+
+#ifndef TW_NO_HAPTICS
 			DataManager::Vibrate("tw_button_vibrate");
+#endif
+
 			mCurLineX = x;
 			mCurLineY = y;
 			mNeedRender = true;
@@ -386,7 +390,11 @@
 			{
 				ConnectIntermediateDots(dot_idx);
 				ConnectDot(dot_idx);
+
+#ifndef TW_NO_HAPTICS
 				DataManager::Vibrate("tw_button_vibrate");
+#endif
+
 			}
 
 			mCurLineX = x;
diff --git a/gui/scrolllist.cpp b/gui/scrolllist.cpp
old mode 100644
new mode 100755
index ecfb5fe..bf5a9b0
--- a/gui/scrolllist.cpp
+++ b/gui/scrolllist.cpp
@@ -508,7 +508,10 @@
 			NotifySelect(selectedItem);
 			mUpdate = 1;
 
+#ifndef TW_NO_HAPTICS
 			DataManager::Vibrate("tw_button_vibrate");
+#endif
+
 			selectedItem = NO_ITEM;
 		} else {
 			// Start kinetic scrolling
diff --git a/gui/slider.cpp b/gui/slider.cpp
old mode 100644
new mode 100755
index fab5a2e..3c5f652
--- a/gui/slider.cpp
+++ b/gui/slider.cpp
@@ -208,7 +208,11 @@
 			return 0;
 
 		if (sCurTouchX >= mRenderX + mRenderW - sTouchW) {
+
+#ifndef TW_NO_HAPTICS
 			DataManager::Vibrate("tw_button_vibrate");
+#endif
+
 			sAction->doActions();
 		}
 
diff --git a/gui/terminal.cpp b/gui/terminal.cpp
old mode 100644
new mode 100755
index b1799ce..a4fed91
--- a/gui/terminal.cpp
+++ b/gui/terminal.cpp
@@ -530,7 +530,11 @@
 		switch (ch)
 		{
 			case 7: // BEL
+
+#ifndef TW_NO_HAPTICS
 				DataManager::Vibrate("tw_button_vibrate");
+#endif
+
 				break;
 			case 8: // BS
 				left();
diff --git a/gui/theme/common/landscape.xml b/gui/theme/common/landscape.xml
old mode 100644
new mode 100755
index 5bbfe90..f6f14bc
--- a/gui/theme/common/landscape.xml
+++ b/gui/theme/common/landscape.xml
@@ -3166,19 +3166,28 @@
 				<placement x="%tab5_col4_x%" y="%row_tab_y%" w="%tab5_width%" h="%tab_indicator_height%"/>
 			</fill>
 
+			<text style="text_m">
+				<condition var1="tw_disable_haptics" var2="1"/>
+				<placement x="col1_x_left" y="%row4_y%" w="%content_width%"/>
+				<text>{@vibration_disabled=Vibration Disabled for Device}</text>
+			</text>
+
 			<slidervalue>
+				<condition var1="tw_disable_haptics" var2="0"/>
 				<placement x="col1_x_left" y="%row4_y%" w="%content_width%"/>
 				<text>{@button_vibration=Button Vibration:}</text>
 				<data variable="tw_button_vibrate" min="0" max="300"/>
 			</slidervalue>
 
 			<slidervalue>
+				<condition var1="tw_disable_haptics" var2="0"/>
 				<placement x="col1_x_left" y="%row9_y%" w="%content_width%"/>
 				<text>{@kb_vibration=Keyboard Vibration:}</text>
 				<data variable="tw_keyboard_vibrate" min="0" max="300"/>
 			</slidervalue>
 
 			<slidervalue>
+				<condition var1="tw_disable_haptics" var2="0"/>
 				<placement x="col1_x_left" y="%row14_y%" w="%content_width%"/>
 				<text>{@act_vibration=Action Vibration:}</text>
 				<data variable="tw_action_vibrate" min="0" max="500"/>
diff --git a/gui/theme/common/languages/en.xml b/gui/theme/common/languages/en.xml
old mode 100644
new mode 100755
index afba59a..03d4e08
--- a/gui/theme/common/languages/en.xml
+++ b/gui/theme/common/languages/en.xml
@@ -318,6 +318,7 @@
 		<string name="settings_tz_btn">Time Zone</string>
 		<string name="settings_screen_btn">Screen</string>
 		<string name="settings_screen_bright_btn">Screen Brightness</string>
+		<string name="vibration_disabled">Vibration is disabled for this device</string>
 		<string name="settings_vibration_btn">Vibration</string>
 		<string name="settings_language_btn">Language</string>
 		<string name="time_zone_hdr">Time Zone</string>
diff --git a/gui/theme/common/portrait.xml b/gui/theme/common/portrait.xml
old mode 100644
new mode 100755
index 1176922..09b7c6b
--- a/gui/theme/common/portrait.xml
+++ b/gui/theme/common/portrait.xml
@@ -3329,19 +3329,28 @@
 				<placement x="%tab5_col4_x%" y="%row_tab_y%" w="%tab5_width%" h="%tab_indicator_height%"/>
 			</fill>
 
+			<text style="text_m">
+				<condition var1="tw_disable_haptics" var2="1"/>
+				<placement x="%indent%" y="%row4_y%"/>
+				<text>{@vibration_disabled=Vibration Disabled for Device}</text>
+			</text>
+
 			<slidervalue>
+				<condition var1="tw_disable_haptics" var2="0"/>
 				<placement x="indent" y="%row4_y%" w="%content_width%"/>
 				<text>{@button_vibration=Button Vibration:}</text>
 				<data variable="tw_button_vibrate" min="0" max="300"/>
 			</slidervalue>
 
 			<slidervalue>
+				<condition var1="tw_disable_haptics" var2="0"/>
 				<placement x="indent" y="%row9_y%" w="%content_width%"/>
 				<text>{@kb_vibration=Keyboard Vibration:}</text>
 				<data variable="tw_keyboard_vibrate" min="0" max="300"/>
 			</slidervalue>
 
 			<slidervalue>
+				<condition var1="tw_disable_haptics" var2="0"/>
 				<placement x="indent" y="%row14_y%" w="%content_width%"/>
 				<text>{@act_vibration=Action Vibration:}</text>
 				<data variable="tw_action_vibrate" min="0" max="500"/>
diff --git a/gui/theme/common/watch.xml b/gui/theme/common/watch.xml
old mode 100644
new mode 100755
index 83f4b63..d36bb2d
--- a/gui/theme/common/watch.xml
+++ b/gui/theme/common/watch.xml
@@ -3518,6 +3518,7 @@
 			</button>
 
 			<button style="main_button">
+				<condition var1="tw_disable_haptics" var2="0"/>
 				<placement x="%col1_x_right%" y="%row6_y%"/>
 				<text>{@settings_vibration_btn=Vibration}</text>
 				<action function="page">settings_vibration</action>
