diff --git a/app/models/comment.rb b/app/models/comment.rb
index 885b2481da2041f128b3e8b70be4e486e031ebb3..8ba576e9ee53fd75ed16a0b83944723b19a2b918 100644
--- a/app/models/comment.rb
+++ b/app/models/comment.rb
@@ -23,6 +23,7 @@ class Comment < ActiveRecord::Base
 
   validates_presence_of :text, :post
 
+  serialize :youtube_titles, Hash
   before_save do
     get_youtube_title text
   end
diff --git a/app/models/status_message.rb b/app/models/status_message.rb
index f2052d3cd90a8bb4f59f26cb06fc0948dfd9cccb..56475a63d1bfa9fd1bea5498c77cb8db32da9737 100644
--- a/app/models/status_message.rb
+++ b/app/models/status_message.rb
@@ -17,6 +17,7 @@ class StatusMessage < Post
 
   attr_accessible :message
 
+  serialize :youtube_titles, Hash
   before_save do
     get_youtube_title message
   end
diff --git a/db/migrate/0000_create_schema.rb b/db/migrate/0000_create_schema.rb
index 7d27bf5fd26f26df201b4a8cf8ea74d1c0646356..65a14130a0c1ac614651ad444e4827922f0dbc63 100644
--- a/db/migrate/0000_create_schema.rb
+++ b/db/migrate/0000_create_schema.rb
@@ -23,6 +23,7 @@ class CreateSchema < ActiveRecord::Migration
       t.string :guid
       t.text :creator_signature
       t.text :post_creator_signature
+      t.text :youtube_titles
       t.timestamps
     end
     add_index :comments, :guid, :unique => true
@@ -86,6 +87,7 @@ class CreateSchema < ActiveRecord::Migration
       t.string :remote_photo_name
       t.string :random_string
       t.string :image #carrierwave's column
+      t.text :youtube_titles
 
       t.timestamps
     end
diff --git a/db/schema.rb b/db/schema.rb
index 96416285b09f490655415b7b49a1ae1ef7ebf822..e6817892cde8cd69d4188856bc7c7bfeb6bda18b 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -39,6 +39,7 @@ ActiveRecord::Schema.define(:version => 0) do
     t.string   "guid"
     t.text     "creator_signature"
     t.text     "post_creator_signature"
+    t.text     "youtube_titles"
     t.datetime "created_at"
     t.datetime "updated_at"
   end
@@ -120,6 +121,7 @@ ActiveRecord::Schema.define(:version => 0) do
     t.string   "remote_photo_name"
     t.string   "random_string"
     t.string   "image"
+    t.text     "youtube_titles"
     t.datetime "created_at"
     t.datetime "updated_at"
   end
diff --git a/lib/youtube_titles.rb b/lib/youtube_titles.rb
index 55ecab4cf353190fc788f895b183800084f9c153..0e16e76cc72abe9da887adde7adfa73c8286815a 100644
--- a/lib/youtube_titles.rb
+++ b/lib/youtube_titles.rb
@@ -10,12 +10,12 @@ module YoutubeTitles
     title || I18n.t('application.helper.video_title.unknown')
   end
   def get_youtube_title text
-    self[:youtube_titles] ||= {}
+    self.youtube_titles ||= {}
     youtube_match = text.match(YOUTUBE_ID_REGEX)
     return unless youtube_match
     video_id = youtube_match[1]
-    unless self[:youtube_titles][video_id]
-      self[:youtube_titles][video_id] = youtube_title_for(video_id)
+    unless self.youtube_titles[video_id]
+      self.youtube_titles[video_id] = youtube_title_for(video_id)
     end
   end
   YOUTUBE_ID_REGEX = /youtube\.com.*?v=([A-Za-z0-9_\\\-]+)/ unless defined? YOUTUBE_ID_REGEX
diff --git a/spec/controllers/status_message_controller_spec.rb b/spec/controllers/status_message_controller_spec.rb
index 89d349fa95983171c91b1aed650d998de4e1c910..cc5af97c570b24a8745037ebfde4054cda1438c7 100644
--- a/spec/controllers/status_message_controller_spec.rb
+++ b/spec/controllers/status_message_controller_spec.rb
@@ -31,7 +31,7 @@ describe StatusMessagesController do
       response.should be_success
     end
   end
-  
+
   describe '#create' do
     let(:status_message_hash) {
       { :status_message => {
diff --git a/spec/models/comment_spec.rb b/spec/models/comment_spec.rb
index f059399a84a7b2878be3bd9bd5f52e8c696a3f57..f0397f19058dc54d4557d4d6a7dc898455cbb514 100644
--- a/spec/models/comment_spec.rb
+++ b/spec/models/comment_spec.rb
@@ -266,7 +266,7 @@ describe Comment do
       comment = user.build_comment url, :on => @message
 
       comment.save!
-      comment[:youtube_titles].should == {video_id => expected_title}
+      Comment.find(comment.id).youtube_titles.should == {video_id => expected_title}
     end
   end
 end
diff --git a/spec/models/status_message_spec.rb b/spec/models/status_message_spec.rb
index e523dfd41d8a1dc75285e5936f16b1d3147ed5d7..ebc1e158e50aba8987ea3c5e99288ed742fdc40e 100644
--- a/spec/models/status_message_spec.rb
+++ b/spec/models/status_message_spec.rb
@@ -100,7 +100,7 @@ describe StatusMessage do
       post = @user.build_post :status_message, :message => url, :to => @aspect.id
 
       post.save!
-      post[:youtube_titles].should == {video_id => expected_title}
+      Post.find(post.id).youtube_titles.should == {video_id => expected_title}
     end
   end