Index: /branches/release-40/lib/MT/BackupRestore.pm
===================================================================
--- /branches/release-40/lib/MT/BackupRestore.pm (revision 2548)
+++ /branches/release-40/lib/MT/BackupRestore.pm (revision 2564)
@@ -334,5 +334,7 @@
     ); };
 
-    MT->run_callbacks('restore', $objects, $deferred, $errors, $callback);
+    unless ( $@ ) {
+        MT->run_callbacks('restore', $objects, $deferred, $errors, $callback);
+    }
     $$errormsg = join('; ', @$errors);
     ($deferred, $blog_ids);
@@ -433,5 +435,7 @@
     }
 
-    MT->run_callbacks('restore', \%objects, $deferred, $errors, $callback);
+    unless ( $@ ) {
+        MT->run_callbacks('restore', \%objects, $deferred, $errors, $callback);
+    }
     my $blog_ids = scalar(@blog_ids) ? \@blog_ids : undef;
     my $asset_ids = scalar(@asset_ids) ? \@asset_ids : undef;
Index: /branches/release-40/lib/MT/L10N/ja.pm
===================================================================
--- /branches/release-40/lib/MT/L10N/ja.pm (revision 2538)
+++ /branches/release-40/lib/MT/L10N/ja.pm (revision 2564)
@@ -864,6 +864,6 @@
 
 ## lib/MT/BackupRestore/BackupFileHandler.pm
-	'Uploaded file was backed up from Movable Type with the newer schema version ([_1]) than the one in this system ([_2]).  It is not safe to restore the file to this version of Movable Type.' => 'ã¢ããã­ãŒãããããã¡ã€ã«ã¯ãã®ã·ã¹ãã ã®ããŒãžã§ã³([_2])ããæ°ããããŒãžã§ã³([_1])ã§ããã¯ã¢ãããããŠããŸãããã®ãã¡ã€ã«ãäœ¿ã£ãŠåŸ©å
-ããããšã¯æšå¥šãããŸããã',
+	'Uploaded file was backed up from Movable Type but the different schema version ([_1]) from the one in this system ([_2]).  It is not safe to restore the file to this version of Movable Type.' => 'ã¢ããã­ãŒãããããã¡ã€ã«ã¯ãã®ã·ã¹ãã ã®ããŒãžã§ã³([_2])ãšã¯ç°ãªãããŒãžã§ã³([_1])ã§ããã¯ã¢ãããããŠããŸãããã®ãã¡ã€ã«ãäœ¿ã£ãŠåŸ©å
+ããããšã¯ã§ããŸããã',
 	'[_1] is not a subject to be restored by Movable Type.' => '[_1]ã¯Movable Typeã§åŸ©å
 ããå¯Ÿè±¡ã«ã¯å«ãŸããŠããŸããã',
Index: /branches/release-40/lib/MT/CMS/Tools.pm
===================================================================
--- /branches/release-40/lib/MT/CMS/Tools.pm (revision 2498)
+++ /branches/release-40/lib/MT/CMS/Tools.pm (revision 2564)
@@ -1597,8 +1597,9 @@
     my ( $fh, $errormsg ) = @_;
     my $q = $app->param;
-    my $schema_version =
-      $q->param('ignore_schema_conflict')
-      ? 'ignore'
-      : $app->config('SchemaVersion');
+    my $schema_version = $app->config->SchemaVersion;
+    #my $schema_version =
+    #  $q->param('ignore_schema_conflict')
+    #  ? 'ignore'
+    #  : $app->config('SchemaVersion');
     my $overwrite_template = $q->param('overwrite_global_templates') ? 1 : 0;
 
@@ -1655,8 +1656,9 @@
 
     my $q = $app->param;
-    my $schema_version =
-      $q->param('ignore_schema_conflict')
-      ? 'ignore'
-      : $app->config('SchemaVersion');
+    my $schema_version = $app->config->SchemaVersion;
+    #my $schema_version =
+    #  $q->param('ignore_schema_conflict')
+    #  ? 'ignore'
+    #  : $app->config('SchemaVersion');
 
     my $overwrite_template = $q->param('overwrite_global_templates') ? 1 : 0;
@@ -1764,8 +1766,9 @@
     $param->{last}        = scalar(@$files) ? 0 : ( scalar(@$assets) ? 0 : 1 );
     $param->{open_dialog} = 1;
-    $param->{schema_version} =
-      $q->param('ignore_schema_conflict')
-      ? 'ignore'
-      : $app->config('SchemaVersion');
+    $param->{schema_version} = $app->config->SchemaVersion;
+    #$param->{schema_version} =
+    #  $q->param('ignore_schema_conflict')
+    #  ? 'ignore'
+    #  : $app->config('SchemaVersion');
     $param->{overwrite_templates} = $q->param('overwrite_global_templates') ? 1 : 0;
 
Index: /branches/release-40/lib/MT/BackupRestore/BackupFileHandler.pm
===================================================================
--- /branches/release-40/lib/MT/BackupRestore/BackupFileHandler.pm (revision 2298)
+++ /branches/release-40/lib/MT/BackupRestore/BackupFileHandler.pm (revision 2564)
@@ -42,9 +42,10 @@
         die MT->translate('Uploaded file was not a valid Movable Type backup manifest file.')
             if !(('movabletype' eq $name) && (MT::BackupRestore::NS_MOVABLETYPE() eq $ns));
-        unless ($self->{ignore_schema_conflicts}) {
+        #unless ($self->{ignore_schema_conflicts}) {
             my $schema = $attrs->{'{}schema_version'}->{Value};
-            if (('ignore' ne $self->{schema_version}) && ($schema > $self->{schema_version})) {
+            #if (('ignore' ne $self->{schema_version}) && ($schema > $self->{schema_version})) {
+            if ( $schema != $self->{schema_version} ) {
                 $self->{critical} = 1;
-                my $message = MT->translate('Uploaded file was backed up from Movable Type with the newer schema version ([_1]) than the one in this system ([_2]).  It is not safe to restore the file to this version of Movable Type.', MT::I18N::encode_text(MT::I18N::utf8_off($schema), 'utf-8'), $self->{schema_version});
+                my $message = MT->translate('Uploaded file was backed up from Movable Type but the different schema version ([_1]) from the one in this system ([_2]).  It is not safe to restore the file to this version of Movable Type.', MT::I18N::encode_text(MT::I18N::utf8_off($schema), 'utf-8'), $self->{schema_version});
                 MT->log({ 
                     message => $message,
@@ -55,5 +56,5 @@
                 die $message;
             }
-        }
+        #}
         $self->{start} = 0;
         return 1;
Index: /branches/release-40/tmpl/cms/restore.tmpl
===================================================================
--- /branches/release-40/tmpl/cms/restore.tmpl (revision 1212)
+++ /branches/release-40/tmpl/cms/restore.tmpl (revision 2564)
@@ -35,4 +35,5 @@
                 <input name="file" type="file" size="50" />
         </mtapp:setting>
+        <mt:ignore><!-- disable the feature to ignore schema conflict.
         <mtapp:setting
             id="ignore_schema_conflict"
@@ -43,4 +44,5 @@
                 <label for="ignore_schema_conflict"><__trans phrase="Ignore schema version conflicts"></label>
         </mtapp:setting>
+        --></mt:ignore>
         <mtapp:setting
             id="overwrite_global_templates"
