diff --git a/lib/airrecord/table.rb b/lib/airrecord/table.rb
index <HASH>..<HASH> 100644
--- a/lib/airrecord/table.rb
+++ b/lib/airrecord/table.rb
@@ -180,7 +180,7 @@ module Airrecord
     end
 
     def save
-      raise Error, "Unable to save a new record" if new_record?
+      return create if new_record?
 
       return true if @updated_keys.empty?
 
diff --git a/test/table_test.rb b/test/table_test.rb
index <HASH>..<HASH> 100644
--- a/test/table_test.rb
+++ b/test/table_test.rb
@@ -181,12 +181,12 @@ class TableTest < Minitest::Test
     assert record.save
   end
 
-  def test_update_raises_if_new_record
+  def test_update_creates_if_new_record
     record = @table.new("Name" => "omg")
 
-    assert_raises Airrecord::Error do
-      record.save
-    end
+    stub_post_request(record)
+
+    assert record.save
   end
 
   def test_existing_record_is_not_new
Create new records instead of raising in #save