diff --git a/app/configuration/controllers/firmware-controller.js b/app/configuration/controllers/firmware-controller.js
index 89cf9c6..451c16c 100644
--- a/app/configuration/controllers/firmware-controller.js
+++ b/app/configuration/controllers/firmware-controller.js
@@ -116,26 +116,14 @@
                   .then(function(state) {
                     if ($scope.activate.reboot &&
                         ($scope.activate_image_type == 'BMC')) {
-                      // Despite the new image being active, issue,
-                      // https://github.com/openbmc/openbmc/issues/2764, can
-                      // cause a system to brick, if the system reboots before
-                      // the service to set the U-Boot variables is complete.
-                      // Wait 10 seconds before rebooting to ensure this service
-                      // is complete. This issue is fixed in newer images, but
-                      // the user may be updating from an older image that does
-                      // not that have this fix.
-                      // TODO: remove this timeout after sufficient time has
-                      // passed.
-                      $timeout(function() {
-                        APIUtils.bmcReboot().then(
-                            function(response) {
-                              toastService.success('BMC is rebooting.')
-                            },
-                            function(error) {
-                              console.log(JSON.stringify(error));
-                              toastService.error('Unable to reboot BMC.');
-                            });
-                      }, 10000);
+                      APIUtils.bmcReboot().then(
+                          function(response) {
+                            toastService.success('BMC is rebooting.')
+                          },
+                          function(error) {
+                            console.log(JSON.stringify(error));
+                            toastService.error('Unable to reboot BMC.');
+                          });
                     }
                     if ($scope.activate.reboot &&
                         ($scope.activate_image_type == 'Host')) {
