diff -ur l10n_server_orig/connectors/l10n_drupal/l10n_drupal.module l10n_server/connectors/l10n_drupal/l10n_drupal.module
--- l10n_server_orig/connectors/l10n_drupal/l10n_drupal.module	2011-10-14 11:41:32.000000000 +0200
+++ l10n_server/connectors/l10n_drupal/l10n_drupal.module	2011-10-17 20:33:00.000000000 +0200
@@ -14,7 +14,7 @@
  * Implementation of hook_help().
  */
 function l10n_drupal_help($path, $arg) {
-  if (($arg[0] == 'translate') && ($arg[1] == 'projects') && ($arg[3] == 'releases') && !empty($arg[4]) && is_numeric($arg[4])) {
+  if (($arg[0] == 'translate') && ($arg[1] == 'projects') && ($arg[3] == 'releases') && !empty($arg[4])) {
     $project = l10n_server_get_projects(array('uri' => $arg[2]));
     if ($project->connector_module == 'l10n_drupal_files') {
       return t('Source code parsing warnings listed here might indicate but not necessarily mean misuse of the APIs our source code parser looks at. <a href="@url">Detailed explanation and a cheat sheet of the localization API</a> can be found in the Drupal.org handbooks.', array('@url' => 'http://drupal.org/node/322729'));
diff -ur l10n_server_orig/l10n_community/l10n_community.css l10n_server/l10n_community/l10n_community.css
--- l10n_server_orig/l10n_community/l10n_community.css	2011-10-14 11:41:32.000000000 +0200
+++ l10n_server/l10n_community/l10n_community.css	2011-10-17 19:49:49.000000000 +0200
@@ -69,6 +69,13 @@
   left: 0; /* LTR */
   margin: 0 0 0.5em 1em; /* LTR */
 }
+.l10n-server-filter .filter-submit .start-over-link {
+  position: absolute;
+  bottom: 0;
+  width: 100%;
+  text-align: center;
+  margin: 0 0 0.5em 0; /* LTR */
+}
 
 /* Emphasized replaceable parts of translatables */
 em.l10n-community-marker {
diff -ur l10n_server_orig/l10n_community/l10n_community.module l10n_server/l10n_community/l10n_community.module
--- l10n_server_orig/l10n_community/l10n_community.module	2011-10-14 11:41:32.000000000 +0200
+++ l10n_server/l10n_community/l10n_community.module	2011-10-17 21:43:36.000000000 +0200
@@ -262,13 +262,13 @@
     'file' => 'pages.inc',
     'type' => MENU_CALLBACK,
   );
-  $items['translate/projects/%l10n_community_project/releases/reset/%'] = array(
+  $items['translate/languages/%l10n_community_language/translate/reset/%/%'] = array(
     'load arguments' => array('%map'),
     'title' => 'Reset release',
     'page callback' => 'drupal_get_form',
-    'page arguments' => array('l10n_communinty_projects_release_reset', 2, 5),
+    'page arguments' => array('l10n_communinty_projects_release_reset', 2, 5, 6),
     'file' => 'pages.inc',
-    'access arguments' => array('start over packages'),
+    'access arguments' => array('browse translations'),
     'type' => MENU_CALLBACK,
   );
 
diff -ur l10n_server_orig/l10n_community/pages.inc l10n_server/l10n_community/pages.inc
--- l10n_server_orig/l10n_community/pages.inc	2011-10-14 11:41:32.000000000 +0200
+++ l10n_server/l10n_community/pages.inc	2011-10-17 21:44:53.000000000 +0200
@@ -415,15 +415,14 @@
     return '';
   }
 
-  return l10n_communinty_project_releases_table($releases, $uri, $project_name, TRUE, TRUE);
+  return l10n_communinty_project_releases_table($releases, $uri, $project_name);
 }
 
 /**
  * Display metadata based on a list of releases.
  */
-function l10n_communinty_project_releases_table($releases, $project_uri, $project_name, $link_releases = TRUE, $start_over = FALSE) {
+function l10n_communinty_project_releases_table($releases, $project_uri, $project_name, $link_releases = TRUE) {
   $rows = array();
-  $start_over = $start_over && user_access('start over packages');
   foreach ($releases as $release) {
     $file_count = db_result(db_query('SELECT COUNT(*) FROM {l10n_server_file} WHERE rid = %d', $release->rid));
     $error_count = db_result(db_query('SELECT COUNT(*) FROM {l10n_server_error} WHERE rid = %d', $release->rid));
@@ -437,40 +436,44 @@
       $release->sid_count,
       $error_count ? l($error_count, 'translate/projects/' . $project_uri . '/releases/' . $release->rid, array('fragment' => 'source-warnings')) : $error_count,
     );
-    if ($start_over) {
-      $rows[count($rows) - 1][] = l(t('Start over'), 'translate/projects/' . $project_uri . '/releases/reset/' . $release->rid);
-    }
   }
   $header = array(t('Release'), t('Download'), t('File date'), t('Last parsed'), t('Files'), t('Strings'), t('Warnings'));
-  if ($start_over) {
-    $header[] = t('Operations');
-  }
   return theme('table', $header, $rows);
 }
 
 /**
  * Form callback to display a confirm form for resetting releases.
  */
-function l10n_communinty_projects_release_reset(&$form_state, $project_uri, $release_rid) {
-  $project = l10n_server_get_projects(array('uri' => $project_uri));
-  $releases = l10n_server_get_releases($project_uri, FALSE);
-  if (isset($releases[$release_rid])) {
-    $release = $releases[$release_rid];
-    $form = array(
-      'project' => array(
-        '#type' => 'value',
-        '#value' => $project,
-      ),
-      'release' => array(
-        '#type' => 'value',
-        '#value' => $release,
-      ),
-    );
-    return confirm_form($form, t('Are you sure you would like to start over with %project %release on this Localization server?', array('%project' => $project->title, '%release' => $release->title)), 'translate/projects/' . $project->uri . '/releases', t('This would remove almost all data associated with the release: files, line and parsing error information. Source strings found within this project and translations for them are temporarily kept. This action cannot be undone.'));
+function l10n_communinty_projects_release_reset(&$form_state, $langcode, $project_uri, $release_rid) {
+  if (user_access('start over packages')) {
+    $project = l10n_server_get_projects(array('uri' => $project_uri));
+    $releases = l10n_server_get_releases($project_uri, FALSE);
+    if (isset($releases[$release_rid])) {
+      $release = $releases[$release_rid];
+      $form = array(
+        'langcode' => array(
+          '#type' => 'value',
+          '#value' => $langcode,
+        ),
+        'project' => array(
+          '#type' => 'value',
+          '#value' => $project,
+        ),
+        'release' => array(
+          '#type' => 'value',
+          '#value' => $release,
+        ),
+      );
+      return confirm_form($form, t('Are you sure you would like to start over with %project %release on this Localization server?', array('%project' => $project->title, '%release' => $release->title)), 'translate/languages/' . $langcode . '/translate', t('This would remove almost all data associated with the release: files, line and parsing error information. Source strings found within this project and translations for them are temporarily kept. This action cannot be undone.'));
+    }
+    else {
+      drupal_set_message(t('The release is not found, or the selected %release release does not belongs to the %project project.', array('%project' => $form_state['values']['project']->title, '%release' => $form_state['values']['release']->title)), 'error');
+      drupal_goto('translate/languages/' . $langcode . '/translate');
+    }
   }
   else {
-    drupal_set_message(t('The release is not found, or the selected %release release does not belongs to the %project project.', array('%project' => $form_state['values']['project']->title, '%release' => $form_state['values']['release']->title)), 'error');
-    drupal_goto('translate/projects/' . $project_uri . '/releases');
+    drupal_set_message(t('Please, contact your localization team manager (or any other translation community manager) with their personal contact form to solve this problem.'));
+    drupal_goto('translate/languages/' . $langcode . '/translate', 'project=' . $project_uri . '&release=' . $release_rid);
   }
 }
 
@@ -488,7 +491,7 @@
   else {
     drupal_set_message(t('The release is not found, or the selected %release release does not belongs to the %project project.', array('%project' => $form_state['values']['project']->title, '%release' => $form_state['values']['release']->title)), 'error');
   }
-  $form_state['redirect'] = 'translate/projects/' . $form_state['values']['project']->uri . '/releases';
+  $form_state['redirect'] = 'translate/languages/' . $form_state['values']['langcode'] . '/translate';
 }
 
 /**
diff -ur l10n_server_orig/l10n_community/translate.inc l10n_server/l10n_community/translate.inc
--- l10n_server_orig/l10n_community/translate.inc	2011-10-14 11:41:32.000000000 +0200
+++ l10n_server/l10n_community/translate.inc	2011-10-17 19:59:32.000000000 +0200
@@ -102,6 +102,13 @@
     '#attributes' => array('class' => $form_state['values']['release'] == 'all' ? 'is-default' : 'is-not-default'),
   );
 
+  if ($form_state['values']['release'] != 'all' ) {
+    $form['startover'] = array(
+      '#value' => '<div class="start-over-link">' . l(t('Missing strings?'), 'translate/languages/' . $langcode . '/translate/reset/' . $form_state['values']['project'] . '/' . $form_state['values']['release']) . '</div>',
+      '#type' => 'markup',
+    );
+  }
+
   if (count($contexts = l10n_community_get_contexts()) > 1) {
     $form['context'] = array(
       '#title' => t('Context'),
