diff --git a/linkedin.install b/linkedin.install
index 499dba2..111e119 100644
--- a/linkedin.install
+++ b/linkedin.install
@@ -86,3 +86,17 @@ function linkedin_requirements($phase) {
 function linkedin_update_7100() {
   variable_del('linkedin_auth_login_block');
 }
+
+/**
+ * Delete authmap entries of users that disconnected their linkedin accounts.
+ */
+function linkedin_update_7101() {
+  // Delete user entries that have been removed from the linkedin_token table.
+  $uids = db_query('SELECT a.uid FROM {authmap} a LEFT JOIN {linkedin_token} l ON a.uid = l.uid WHERE l.uid IS NULL')->fetchCol();
+  if (!empty($uids)) {
+    db_delete('authmap')
+      ->condition('uid', $uids, 'IN')
+      ->condition('module', 'linkedin')
+      ->execute();
+  }
+}
diff --git a/linkedin.pages.inc b/linkedin.pages.inc
index 2317f64..7f2cec2 100644
--- a/linkedin.pages.inc
+++ b/linkedin.pages.inc
@@ -148,6 +148,9 @@ function linkedin_user_settings_form_submit($form, &$form_state) {
     db_delete('linkedin_token')
       ->condition('uid', $form['#account']->uid)
       ->execute();
+
+    // Also delete the linkedin authmap entry for this account.
+    user_set_authmaps($form['#account'], array('authmap_linkedin' => FALSE));
     drupal_set_message(t('LinkedIn preferences have been reset'));
   }
   else {
