diff --git a/lib/app/models/open_object_resource.rb b/lib/app/models/open_object_resource.rb
index <HASH>..<HASH> 100644
--- a/lib/app/models/open_object_resource.rb
+++ b/lib/app/models/open_object_resource.rb
@@ -381,7 +381,7 @@ class OpenObjectResource < ActiveResource::Base
     if default_get_list == []
       load(attributes)
     else
-      load(rpc_execute("default_get", rpc_execute("fields_get").keys, @object_session[:context]).symbolize_keys!.merge(attributes.symbolize_keys!))
+      load(rpc_execute("default_get", default_get_list || self.class.fields && self.class.fields.keys || rpc_execute("fields_get").keys, @object_session[:context]).symbolize_keys!.merge(attributes.symbolize_keys!))
     end
   end
optimization: use class level fields definition cache to avoid calling fields_get for every object creation; also restore default_field_list optimization parameter