diff --git a/user/migrations/0002_add_indexes.py b/user/migrations/0002_text_to_varchar_and_indexes.py
similarity index 77%
rename from user/migrations/0002_add_indexes.py
rename to user/migrations/0002_text_to_varchar_and_indexes.py
index acd012435e6c8ef71e129ea459f3adfc83b9462d..9e144eb335105e4e3a33d40addea0ba68ea65122 100644
--- a/user/migrations/0002_add_indexes.py
+++ b/user/migrations/0002_text_to_varchar_and_indexes.py
@@ -8,12 +8,27 @@ class Migration(SchemaMigration):
 
     def forwards(self, orm):
         
+        # Changing field 'UserProfile.name'
+        db.alter_column('auth_userprofile', 'name', self.gf('django.db.models.fields.CharField')(max_length=255))
+
         # Adding index on 'UserProfile', fields ['name']
         db.create_index('auth_userprofile', ['name'])
 
+        # Changing field 'UserProfile.language'
+        db.alter_column('auth_userprofile', 'language', self.gf('django.db.models.fields.CharField')(max_length=255))
+
         # Adding index on 'UserProfile', fields ['language']
         db.create_index('auth_userprofile', ['language'])
 
+        # Changing field 'UserProfile.courseware'
+        db.alter_column('auth_userprofile', 'courseware', self.gf('django.db.models.fields.CharField')(max_length=255))
+
+        # Changing field 'UserProfile.meta'
+        db.alter_column('auth_userprofile', 'meta', self.gf('django.db.models.fields.CharField')(max_length=255))
+
+        # Changing field 'UserProfile.location'
+        db.alter_column('auth_userprofile', 'location', self.gf('django.db.models.fields.CharField')(max_length=255))
+
         # Adding index on 'UserProfile', fields ['location']
         db.create_index('auth_userprofile', ['location'])
 
@@ -29,6 +44,21 @@ class Migration(SchemaMigration):
         # Removing index on 'UserProfile', fields ['name']
         db.delete_index('auth_userprofile', ['name'])
 
+        # Changing field 'UserProfile.name'
+        db.alter_column('auth_userprofile', 'name', self.gf('django.db.models.fields.TextField')())
+
+        # Changing field 'UserProfile.language'
+        db.alter_column('auth_userprofile', 'language', self.gf('django.db.models.fields.TextField')())
+
+        # Changing field 'UserProfile.courseware'
+        db.alter_column('auth_userprofile', 'courseware', self.gf('django.db.models.fields.TextField')())
+
+        # Changing field 'UserProfile.meta'
+        db.alter_column('auth_userprofile', 'meta', self.gf('django.db.models.fields.TextField')())
+
+        # Changing field 'UserProfile.location'
+        db.alter_column('auth_userprofile', 'location', self.gf('django.db.models.fields.TextField')())
+
 
     models = {
         'auth.group': {
@@ -100,12 +130,12 @@ class Migration(SchemaMigration):
         },
         'user.userprofile': {
             'Meta': {'object_name': 'UserProfile', 'db_table': "'auth_userprofile'"},
-            'courseware': ('django.db.models.fields.TextField', [], {'default': "'course.xml'", 'blank': 'True'}),
+            'courseware': ('django.db.models.fields.CharField', [], {'default': "'course.xml'", 'max_length': '255', 'blank': 'True'}),
             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'language': ('django.db.models.fields.TextField', [], {'db_index': 'True', 'blank': 'True'}),
-            'location': ('django.db.models.fields.TextField', [], {'db_index': 'True', 'blank': 'True'}),
-            'meta': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'name': ('django.db.models.fields.TextField', [], {'db_index': 'True', 'blank': 'True'}),
+            'language': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '255', 'blank': 'True'}),
+            'location': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '255', 'blank': 'True'}),
+            'meta': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '255', 'blank': 'True'}),
             'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'unique': 'True'})
         }
     }
diff --git a/user/models.py b/user/models.py
index ea3882e2a0f60f8b8a9ba4bfcca3c791d8441e19..39e0738c7261d412ab321d60491f3b5e3972caba 100644
--- a/user/models.py
+++ b/user/models.py
@@ -21,11 +21,11 @@ class UserProfile(models.Model):
     # Sanitize all fields. 
     # This is not visible to other users, but could introduce holes later
     user = models.ForeignKey(User, unique=True, db_index=True)
-    name = models.TextField(blank=True, db_index=True)
-    language = models.TextField(blank=True, db_index=True)
-    location = models.TextField(blank=True, db_index=True)
-    meta = models.TextField(blank=True) # JSON dictionary for future expansion
-    courseware = models.TextField(blank=True, default='course.xml')
+    name = models.CharField(blank=True, max_length=255, db_index=True)
+    language = models.CharField(blank=True, max_length=255, db_index=True)
+    location = models.CharField(blank=True, max_length=255, db_index=True)
+    meta = models.CharField(blank=True, max_length=255) # JSON dictionary for future expansion
+    courseware = models.CharField(blank=True, max_length=255, default='course.xml')
 
 
 class Registration(models.Model):