diff --git a/lib/grouped_validations.rb b/lib/grouped_validations.rb
index <HASH>..<HASH> 100644
--- a/lib/grouped_validations.rb
+++ b/lib/grouped_validations.rb
@@ -23,14 +23,12 @@ module GroupedValidations
       raise "Validation group '#{group}' not defined" unless validation_groups.include?(group)
 
       errors.clear
-      @_on_validate = new_record? ? :create : :update
       run_group_validation_callbacks group
       errors.empty?
     end
 
     def groups_valid?(*groups)
       errors.clear
-      @_on_validate = new_record? ? :create : :update
       groups.each do |group|
         raise "Validation group '#{group}' not defined" unless validation_groups.include?(group)
         run_group_validation_callbacks group
diff --git a/lib/grouped_validations/active_model.rb b/lib/grouped_validations/active_model.rb
index <HASH>..<HASH> 100644
--- a/lib/grouped_validations/active_model.rb
+++ b/lib/grouped_validations/active_model.rb
@@ -24,6 +24,7 @@ module GroupedValidations
   module InstanceMethods
 
     def run_group_validation_callbacks(group)
+      @_on_validate = new_record? ? :create : :update
       send(:"_run_validate_#{group}_callbacks")
     end
moved AR3 specific var setting where it should be