diff --git a/app/controllers/queries_controller.rb b/app/controllers/queries_controller.rb
index 7c8460dd7..72819bd68 100644
--- a/app/controllers/queries_controller.rb
+++ b/app/controllers/queries_controller.rb
@@ -37,7 +37,7 @@ class QueriesController < ApplicationController
@query.add_filter(field, params[:operators][field], params[:values][field])
end if params[:fields]
- if request.post? and @query.save
+ if request.post? && params[:confirm] && @query.save
flash[:notice] = l(:notice_successful_create)
redirect_to :controller => 'projects', :action => 'list_issues', :id => @project, :query_id => @query
return
diff --git a/app/views/projects/list_issues.rhtml b/app/views/projects/list_issues.rhtml
index 3c90c30f9..60e8f7be2 100644
--- a/app/views/projects/list_issues.rhtml
+++ b/app/views/projects/list_issues.rhtml
@@ -2,7 +2,7 @@
<%=l(:label_issue_plural)%>
<% set_html_title l(:label_issue_plural) %>
- <% form_tag({:action => 'list_issues'}, :id => 'query_form') do %>
+ <% form_tag({ :controller => 'queries', :action => 'new', :project_id => @project }, :id => 'query_form') do %>
<%= render :partial => 'queries/filters', :locals => {:query => @query} %>
<% end %>
@@ -18,12 +18,7 @@
}, :class => 'icon icon-reload' %>
<% if current_role.allowed_to?(:save_queries) %>
- <%= link_to_remote l(:button_save),
- { :url => { :controller => 'queries', :action => 'new', :project_id => @project },
- :method => 'get',
- :update => "content",
- :with => "Form.serialize('query_form')"
- }, :class => 'icon icon-save' %>
+ <%= link_to l(:button_save), {}, :onclick => "$('query_form').submit(); return false;", :class => 'icon icon-save' %>
<% end %>
diff --git a/app/views/queries/_form.rhtml b/app/views/queries/_form.rhtml
index 627058df0..1620d9b05 100644
--- a/app/views/queries/_form.rhtml
+++ b/app/views/queries/_form.rhtml
@@ -1,4 +1,5 @@
<%= error_messages_for 'query' %>
+<%= hidden_field_tag 'confirm', 1 %>