diff --git a/TODO b/TODO
index a8ea0055739d8fb286f26647e9fa4a0a140e5d20..65fd88ebb11a523b5ed0948a1c399209f8a14fa9 100644
--- a/TODO
+++ b/TODO
@@ -1,8 +1,5 @@
 # Required for release
 
-- Prevent accidental shutdown
-  - Add pop-up confirming router shutdown
-  - OR: make router button long-press
 - Display release notes directly on new router version
 - Text content
   - Move help content from release notes to help page
diff --git a/res/layout/fragment_main.xml b/res/layout/fragment_main.xml
index 6b796e10748481ce99abe25244fceecc779dd1fa..8d5bc80bc25d3957836b56883fb46c669d17207b 100644
--- a/res/layout/fragment_main.xml
+++ b/res/layout/fragment_main.xml
@@ -12,7 +12,7 @@
         android:scaleType="centerInside"
         android:src="@drawable/routerlogo_0" />
 
-    <ToggleButton
+    <net.i2p.android.router.util.LongToggleButton
         android:id="@+id/router_onoff_button"
         android:layout_width="match_parent"
         android:layout_height="68dp"
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 5a9b718e5bbf1b2678b082eae3a0841b36d11cc5..fe07e4b2cadf936803603ed6b8f8f0ec88b6c7c8 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -26,8 +26,8 @@
     <string name="label_browse">Browse</string>
     <string name="label_graphs">Graphs</string>
 
-    <string name="button_router_off">Press to start I2P</string>
-    <string name="button_router_on">I2P is running (press to stop)</string>
+    <string name="button_router_off">Long press to start I2P</string>
+    <string name="button_router_on">I2P is running (long press to stop)</string>
 
     <string name="first_start_title">Congratulations on getting I2P installed!</string>
     <string name="first_start_welcome"><b>Welcome to I2P!</b> Please <b>have patience</b> as I2P boots up and finds peers.</string>
diff --git a/src/net/i2p/android/router/MainFragment.java b/src/net/i2p/android/router/MainFragment.java
index fc115569e331fab444f5ec937f21427f6ad46c02..a1e45056822e445f8f5c33e8fcde9b6a16aaf659 100644
--- a/src/net/i2p/android/router/MainFragment.java
+++ b/src/net/i2p/android/router/MainFragment.java
@@ -26,6 +26,7 @@ import java.util.List;
 import net.i2p.android.router.R;
 import net.i2p.android.router.dialog.FirstStartDialog;
 import net.i2p.android.router.dialog.VersionDialog;
+import net.i2p.android.router.util.LongToggleButton;
 import net.i2p.android.router.util.Util;
 import net.i2p.data.DataHelper;
 import net.i2p.data.Destination;
@@ -101,10 +102,10 @@ public class MainFragment extends I2PFragmentBase {
         final ImageView lightImage = (ImageView) v.findViewById(R.id.main_lights);
         lightImage.setImageResource(R.drawable.routerlogo_0);
 
-        ToggleButton b = (ToggleButton) v.findViewById(R.id.router_onoff_button);
-        b.setOnClickListener(new View.OnClickListener() {
+        LongToggleButton b = (LongToggleButton) v.findViewById(R.id.router_onoff_button);
+        b.setOnLongClickListener(new View.OnLongClickListener() {
 
-            public void onClick(View view) {
+            public boolean onLongClick(View view) {
                 boolean on = ((ToggleButton) view).isChecked();
                 if (on) {
                     _startPressed = true;
@@ -116,6 +117,7 @@ public class MainFragment extends I2PFragmentBase {
                         updateOneShot();
                     }
                 }
+                return true;
             }
         });
 
diff --git a/src/net/i2p/android/router/util/LongToggleButton.java b/src/net/i2p/android/router/util/LongToggleButton.java
new file mode 100644
index 0000000000000000000000000000000000000000..2db7af2dc929beeae1cec507395e8d6b73a2bb84
--- /dev/null
+++ b/src/net/i2p/android/router/util/LongToggleButton.java
@@ -0,0 +1,33 @@
+package net.i2p.android.router.util;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.widget.ToggleButton;
+
+public class LongToggleButton extends ToggleButton {
+    public LongToggleButton(Context context) {
+        super(context);
+    }
+
+    public LongToggleButton(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    public LongToggleButton(Context context, AttributeSet attrs, int defStyle) {
+        super(context, attrs, defStyle);
+    }
+
+    @Override
+    public boolean performClick() {
+        /* Cancel out toggle */
+        toggle();
+        return super.performClick();
+    }
+
+    @Override
+    public boolean performLongClick() {
+        /* When clicked, toggle the state */
+        toggle();
+        return super.performLongClick();
+    }
+}