diff --git a/og.module b/og.module
index df159c5..cd228e1 100644
--- a/og.module
+++ b/og.module
@@ -65,6 +65,17 @@ function og_menu() {
     'access callback' => 'user_is_logged_in',
     'title' => 'OPML',
   );
+
+  $items['og/unsubscribe/%node'] = array(
+    'type' => MENU_CALLBACK,
+    'file' => 'og.pages.inc',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('og_confirm_unsubscribe', 2),
+    'access callback' => 'og_menu_access_unsubscribe',
+    'access arguments' => array(2),
+    'title' => 'Leave group',
+  );
+
   $items['og/unsubscribe/%node/%user'] = array(
     'type' => MENU_CALLBACK,
     'file' => 'og.pages.inc',
diff --git a/og.pages.inc b/og.pages.inc
index 245d29d..1e1832c 100644
--- a/og.pages.inc
+++ b/og.pages.inc
@@ -57,7 +57,7 @@ function og_broadcast_form_submit($form, &$form_state) {
     '@body' => $form_state['values']['body'],
     '@site' => variable_get('site_name', 'drupal'),
     '!url_group' => url("node/$node->nid", array('absolute' => TRUE)),
-    '!url_unsubscribe' => url("og/unsubscribe/$node->nid/$user->uid", array('absolute' => TRUE))
+    '!url_unsubscribe' => url("og/unsubscribe/$node->nid", array('absolute' => TRUE))
   );
 
   $message = array(
@@ -345,8 +345,13 @@ function og_confirm_subscribe_submit($form, &$form_state) {
 /**
  * Confirm og unsubscription form
  */
-function og_confirm_unsubscribe($form_state, $group_node, $account) {
+function og_confirm_unsubscribe($form_state, $group_node, $account = NULL) {
   global $user;
+
+  if (empty($account)) {
+    $account = $user;
+  }
+
   $form['group_node'] = array('#type' => 'value', '#value' => $group_node);
   $form['account'] = array('#type' => 'value', '#value' => $account);
   if ($account->uid == $user->uid) {
