diff --git a/apps.info b/apps.info
index aad6715..536336c 100644
--- a/apps.info
+++ b/apps.info
@@ -4,8 +4,6 @@ package = Distribution Management
 version = 7.x-1.0
 core = 7.x
 
-dependencies[] = update
-
 files[] = apps.module
 files[] = apps.updater.inc
 files[] = apps.installer.inc
diff --git a/apps.installer.inc b/apps.installer.inc
index 810ebff..8a799c3 100644
--- a/apps.installer.inc
+++ b/apps.installer.inc
@@ -14,14 +14,20 @@
  *
  */
 function apps_download_apps($app) {
-  $download_batch = apps_download_apps_batch(array($app));
-  batch_set($download_batch);
-  batch_process($_SESSION['apps_install_next']);
+  if (module_enabled('update') {
+    $download_batch = apps_download_apps_batch(array($app));
+    batch_set($download_batch);
+    batch_process($_SESSION['apps_install_next']);
+  }
+  else {
+    $link = user_permission('administer modules') ? l(t('Go enable the module'), 'admin/modules') : '':
+    drupal_set_message("To download or update apps you need the update module installed. !link", array('!link' => $link));
+  }
 }
 
-/** 
+/**
  * Make the batch for downloading modules for app.
- * 
+ *
  * Split out for use in apps.profile.inc
  */
 function apps_download_apps_batch($apps) {
@@ -85,7 +91,7 @@ function apps_download_apps_list($app) {
  * Batch callback invoked when the download batch is completed.
  *
  * A pass though to update_manager_download_batch_finished
- * but we set $_GET['destination'] to control the drupal_goto that is 
+ * but we set $_GET['destination'] to control the drupal_goto that is
  * in that function
  */
 function apps_download_batch_finished($success, $results) {
@@ -147,8 +153,8 @@ function apps_download_batch($project, $url, $type, &$context) {
 
 /**
  * Wrapper for _update_manager_extract_directory()
- * 
- * Since libraries and modules can live in the same location, we need to 
+ *
+ * Since libraries and modules can live in the same location, we need to
  * namespace the types so they don't collide like the colorbox module.
  */
 function apps_extract_directory($type = '') {
@@ -221,7 +227,7 @@ function apps_install_downloads() {
 
 
 /**
- * The batch builder and processor for moving files to drupal 
+ * The batch builder and processor for moving files to drupal
  *
  * taken from update_authorize_run_update
  * builds a batch and process it for installing modules from the templocation
diff --git a/apps.module b/apps.module
index c1d1b96..21e2f4f 100644
--- a/apps.module
+++ b/apps.module
@@ -289,7 +289,7 @@ function apps_admin_paths() {
 /**
  * Implements hook_image_default_styles().
  */
-function apps_image_default_styles() { 
+function apps_image_default_styles() {
   $styles = array();
 
   // Exported image style: apps_logo
@@ -448,7 +448,7 @@ function apps_block_info() {
     $blocks["manage_apps__$id"] = array(
       'info' => t('Manage Apps for %server', array('%server' => $server['title'])),
     );
-     
+
   }
   return $blocks;
 }
@@ -494,10 +494,10 @@ function apps_authorize_filetransfer_form_submit() {
 function apps_updater_info() {
   return array(
     'library' => array(
-      'class' => 'LibraryUpdater', 
-      'name' => t('Update Library'), 
+      'class' => 'LibraryUpdater',
+      'name' => t('Update Library'),
       'weight' => -10,
-    ), 
+    ),
   );
 }
 
diff --git a/apps.profile.inc b/apps.profile.inc
index 523af75..5002416 100644
--- a/apps.profile.inc
+++ b/apps.profile.inc
@@ -1,12 +1,12 @@
 <?php
 /**
- * This file handles all the functions for downloading, transferring and 
+ * This file handles all the functions for downloading, transferring and
  * installing apps during the install process.
  */
 
 /**
  * Add install tasks to profile install tasks.
- * 
+ *
  * See apps.api.php for use.
  *
  */
@@ -18,7 +18,6 @@ function apps_profile_install_tasks($install_state, $apps_server) {
   // Only use apps forms during interactive installs.
   $tasks = array();
   $apps_server_name = $apps_server['machine name'];
-
   $task_screen = 'apps_profile_apps_select_form_' . $apps_server_name;
   $_SESSION['apps_servers'][$task_screen] = $apps_server;
   $tasks = array(
@@ -175,7 +174,7 @@ function apps_profile_download_app_modules(&$install_state) {
     $apps[] = $_SESSION['apps_manifest'][$name];
   }
   $batch = apps_download_apps_batch($apps);
-  
+
   $batch['finished'] = 'apps_profile_download_batch_finished';
   return $batch;
 }
@@ -221,8 +220,8 @@ function apps_profile_authorize_transfer($form, $form_state, &$install_state) {
 }
 
 /**
- * Callback after the authorize_filetransfer_form_submit. 
- * 
+ * Callback after the authorize_filetransfer_form_submit.
+ *
  * Save the file transfer protocol.
  */
 function apps_profile_authorize_transfer_save($filetransfer, $nothing = array()) {
@@ -236,7 +235,7 @@ function apps_profile_install_app_modules(&$install_state) {
   $batch = array();
   if (!empty($_SESSION['update_manager_update_projects'])) {
     apps_include('installer');
-    
+
     // Make sure the Updater registry is loaded.
     drupal_get_updaters();
 
@@ -255,7 +254,7 @@ function apps_profile_install_app_modules(&$install_state) {
         );
       }
     }
-    
+
     if (isset($_SESSION['filetransfer'])) {
       // We have authenticated a filetransfer so use it.
       $filetransfer = $_SESSION['filetransfer'];
@@ -362,7 +361,7 @@ function app_profile_enable_module($module, $module_name, &$context) {
   $context['finished'] = TRUE;
 }
 
-/**  
+/**
  * Batch callback invoked when enable batch is completed.
  */
 function apps_profile_enable_app_modules_finished($success, $results) {
@@ -395,7 +394,7 @@ function apps_profile_enable_app_modules_finished($success, $results) {
 /**
  * Function to check and make sure all dependencies are available. This will stop stray apps
  * or broken downloads from stopping the install process for everything.
- * 
+ *
  * Copied from module_enable() in module.inc
  */
 function apps_profile_check_dependencies($module_list) {
@@ -424,7 +423,7 @@ function apps_profile_check_dependencies($module_list) {
       }
     }
   }
-  
+
   // If we make it this far then everything is good.
   return TRUE;
 }
