diff --git a/lib/quickbooks/util/name_entity.rb b/lib/quickbooks/util/name_entity.rb
index <HASH>..<HASH> 100644
--- a/lib/quickbooks/util/name_entity.rb
+++ b/lib/quickbooks/util/name_entity.rb
@@ -21,7 +21,8 @@ module NameEntity
 
     def email_address_is_valid
       if primary_email_address
-        address = primary_email_address.address
+        address = primary_email_address.address.to_s
+        return false if address.length == 0
         unless address.index('@') && address.index('.')
           errors.add(:primary_email_address, "Email address must contain @ and . (dot)")
         end
diff --git a/spec/lib/quickbooks/model/customer_spec.rb b/spec/lib/quickbooks/model/customer_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/lib/quickbooks/model/customer_spec.rb
+++ b/spec/lib/quickbooks/model/customer_spec.rb
@@ -60,4 +60,12 @@ describe "Quickbooks::Model::Customer" do
     customer.errors.keys.include?(:sync_token).should == true
   end
 
+  it "should handle a nil/blank email address" do
+    customer = Quickbooks::Model::Customer.new
+    email = Quickbooks::Model::EmailAddress.new
+    email.address = nil
+    customer.email_address = email
+    customer.valid?.should == false
+  end
+
 end
Cast email address to a string so we can perform validations against it. If a user assigned a nil email it would cause an exception. Closes #<I>