diff --git a/app/indexers/rights_metadata_datastream_indexer.rb b/app/indexers/rights_metadata_datastream_indexer.rb
index b9cd45f16..7dcb60f95 100644
--- a/app/indexers/rights_metadata_datastream_indexer.rb
+++ b/app/indexers/rights_metadata_datastream_indexer.rb
@@ -2,6 +2,7 @@
 
 class RightsMetadataDatastreamIndexer
   attr_reader :resource
+
   def initialize(resource:)
     @resource = resource
   end
diff --git a/app/models/hydrus/rights_metadata_ds.rb b/app/models/hydrus/rights_metadata_ds.rb
index 22973f912..a202ab471 100644
--- a/app/models/hydrus/rights_metadata_ds.rb
+++ b/app/models/hydrus/rights_metadata_ds.rb
@@ -1,3 +1,7 @@
+# frozen_string_literal: true
+
+require 'dor/rights_auth'
+
 class Hydrus::RightsMetadataDS < ActiveFedora::OmDatastream
   include Hydrus::GenericDS
   include Hydrus::Accessible
@@ -48,10 +52,20 @@ class Hydrus::RightsMetadataDS < ActiveFedora::OmDatastream
     xml.machine(type: gcode) { xml.text(code) }
   end
 
+  # just a wrapper to invalidate @dra_object
+  def content=(xml)
+    @dra_object = nil
+    super
+  end
+
+  def dra_object
+    @dra_object ||= Dor::RightsAuth.parse(ng_xml, true)
+  end
+
   # This provides the prefix for the solr fields generated by ActiveFedora.
   # Since we don't want a prefix, we override this to return an empty string.
   def prefix
-    ''.freeze
+    ''
   end
 
   # Takes a license-group code, a license code, and the corresponding license text.
@@ -72,7 +86,7 @@ def remove_license
   # Dor::Editable module and moved into a datastream which Hydrus does not use.
   # Stub out these methods to get the test suite running
   [:default_rights, :use_license].each do |missing_method_name|
-    define_method(missing_method_name) {}
+    define_method(missing_method_name) { [] }
   end
 
   def self.xml_template
diff --git a/app/services/indexer.rb b/app/services/indexer.rb
index 10f433ae9..91cf310b6 100644
--- a/app/services/indexer.rb
+++ b/app/services/indexer.rb
@@ -72,6 +72,7 @@ class Indexer
     Dor::Agreement => ITEM_INDEXER, # Agreement uses same indexer as Dor::Item
     Dor::AdminPolicyObject => ADMIN_POLICY_INDEXER,
     Dor::Collection => COLLECTION_INDEXER,
+    Hydrus::Collection => COLLECTION_INDEXER,
     Hydrus::Item => ITEM_INDEXER,
     Hydrus::AdminPolicyObject => ADMIN_POLICY_INDEXER,
     Dor::Item => ITEM_INDEXER,
diff --git a/spec/indexers/rights_metadata_datastream_indexer_spec.rb b/spec/indexers/rights_metadata_datastream_indexer_spec.rb
index a514ed8a2..197288ef0 100644
--- a/spec/indexers/rights_metadata_datastream_indexer_spec.rb
+++ b/spec/indexers/rights_metadata_datastream_indexer_spec.rb
@@ -29,7 +29,7 @@
     XML
   end
 
-  let(:obj) { Dor::Item.new(pid: 'druid:rt923jk342') }
+  let(:obj) { Hydrus::Item.new(pid: 'druid:rt923jk342') }
   let(:rights_md_ds) { obj.rightsMetadata }
 
   let(:indexer) do
@@ -47,7 +47,7 @@
       expect(doc).to include(
         'copyright_ssim' => ['Copyright © World Trade Organization'],
         'use_statement_ssim' => ['Official WTO documents are free for public use.'],
-        'use_license_machine_ssi' => 'by-nc-nd',
+        'use_license_machine_ssi' => nil,
         'rights_descriptions_ssim' => ['world']
       )
     end