diff --git a/app/models/system_group.rb b/app/models/system_group.rb
index <HASH>..<HASH> 100644
--- a/app/models/system_group.rb
+++ b/app/models/system_group.rb
@@ -45,6 +45,8 @@ class SystemGroup < ActiveRecord::Base
   validates_uniqueness_of :name, :scope => :organization_id, :message => N_("Name must be unique within one organization")
   validates_uniqueness_of :pulp_id, :message=> N_("Pulp identifier must be unique.")
 
+  validate :validate_max_systems
+  validates_numericality_of :max_systems, :only_integer => true, :greater_than_or_equal_to => -1, :message => N_("must be an integer value.")
 
   belongs_to :organization
 
@@ -66,6 +68,12 @@ class SystemGroup < ActiveRecord::Base
     end
   }
 
+  def validate_max_systems
+    if (max_systems != -1) and (systems.length > max_systems)
+      errors.add :max_systems, _("may not be less than the number of systems currently associated with the system group.")
+    end
+  end
+
   def self.creatable? org
     User.allowed_to?([:create], :system_groups, nil, org)
   end
system groups - add some basic validations on max_systems