diff --git a/net-wireless/bluez/bluez-5.3.ebuild b/net-wireless/bluez/bluez-5.3-r1.ebuild
similarity index 97%
rename from net-wireless/bluez/bluez-5.3.ebuild
rename to net-wireless/bluez/bluez-5.3-r1.ebuild
index 6dc03e1..f493536 100644
--- a/net-wireless/bluez/bluez-5.3.ebuild
+++ b/net-wireless/bluez/bluez-5.3-r1.ebuild
@@ -98,6 +98,9 @@
 	#epatch "${FILESDIR}/${P}-ps3-0002.patch"
 	#epatch "${FILESDIR}/${P}-ps3-0003.patch"
 
+	# Powered property persistent across reboots.
+	epatch "${FILESDIR}/${P}-Powered-property-persistent-across-reboots.patch"
+
 	eautoreconf
 
 	if use cups; then
diff --git a/net-wireless/bluez/files/bluez-5.3-Powered-property-persistent-across-reboots.patch b/net-wireless/bluez/files/bluez-5.3-Powered-property-persistent-across-reboots.patch
new file mode 100644
index 0000000..20627be
--- /dev/null
+++ b/net-wireless/bluez/files/bluez-5.3-Powered-property-persistent-across-reboots.patch
@@ -0,0 +1,64 @@
+From a8eb5834b23e74994ba1796adcd902dbc646be5d Mon Sep 17 00:00:00 2001
+From: Alex Deymo <deymo@chromium.org>
+Date: Fri, 8 Mar 2013 14:48:27 -0800
+Subject: [PATCH] Make "Powered" property persistent across reboots.
+
+As part of the daemon shutdown the adapter is powered off. Restarting the
+daemon will recover the current status from the adapter, but those will
+always show the adapter as powered off. This patch adds a new property to
+the "settings" adapter's file storing the last Powered status before
+shutdown. This status is restored on startup.
+
+diff --git a/src/adapter.c b/src/adapter.c
+index e553626..0c9acbc 100644
+--- a/src/adapter.c
++++ b/src/adapter.c
+@@ -384,6 +384,10 @@ static void store_adapter_info(struct btd_adapter *adapter)
+ 		g_key_file_set_string(key_file, "General", "Alias",
+ 							adapter->stored_alias);
+ 
++	/* Always store the powered status */
++	g_key_file_set_boolean(key_file, "General", "Powered",
++					btd_adapter_get_powered(adapter));
++
+ 	ba2str(&adapter->bdaddr, address);
+ 	snprintf(filename, PATH_MAX, STORAGEDIR "/%s/settings", address);
+ 	filename[PATH_MAX] = '\0';
+@@ -441,6 +445,12 @@ static void settings_changed(struct btd_adapter *adapter, uint32_t settings)
+ 	        g_dbus_emit_property_changed(dbus_conn, adapter->path,
+ 					ADAPTER_INTERFACE, "Powered");
+ 
++		/* Don't store the adapter information during daemon shutdown.
++		 * It will store the adapter as powered "off" as part of the
++		 * shutdown. */
++		if (!powering_down)
++			store_adapter_info(adapter);
++
+ 		if (adapter->current_settings & MGMT_SETTING_POWERED) {
+ 			adapter_start(adapter);
+ 		} else {
+@@ -3846,6 +3856,7 @@ static void load_config(struct btd_adapter *adapter)
+ 	char address[18];
+ 	struct stat st;
+ 	GError *gerr = NULL;
++	gboolean powered;
+ 
+ 	ba2str(&adapter->bdaddr, address);
+ 
+@@ -3897,6 +3908,16 @@ static void load_config(struct btd_adapter *adapter)
+ 		gerr = NULL;
+ 	}
+ 
++	/* Get power status */
++	powered = g_key_file_get_boolean(key_file, "General", "Powered", &gerr);
++	if (gerr) {
++		powered = false;
++		g_error_free(gerr);
++		gerr = NULL;
++	}
++	/* Update the power status for this adapter */
++	set_mode(adapter, MGMT_OP_SET_POWERED, powered ? 0x01 : 0x00);
++
+ 	g_key_file_free(key_file);
+ }
+ 
