diff --git a/profiles/admin.py b/profiles/admin.py
index 5f6cbe7b2919734cc2aba9489410c421bf694373..8c1094bbae7f344fdc811309ab884fea32dee212 100644
--- a/profiles/admin.py
+++ b/profiles/admin.py
@@ -21,7 +21,7 @@ class AffiliationInline(admin.TabularInline):
 
 
 class ProfileAdmin(admin.ModelAdmin):
-    list_display = ['__str__', 'email', 'discipline', 'expertises', 'has_active_contributor']
+    list_display = ['__str__', 'email', 'acad_field', 'has_active_contributor']
     search_fields = ['first_name', 'last_name', 'emails__email', 'orcid_id']
     inlines = [ProfileEmailInline, AffiliationInline]
     autocomplete_fields = [
diff --git a/profiles/factories.py b/profiles/factories.py
index 0ff0408358f49a95ea5a1b5e5818a03b53f72b64..0d5d0cf1e24f058cfc285242689f4174867bd04f 100644
--- a/profiles/factories.py
+++ b/profiles/factories.py
@@ -6,13 +6,12 @@ import factory
 
 from .models import Profile
 
-from scipost.constants import TITLE_CHOICES, SCIPOST_DISCIPLINES
+from scipost.constants import TITLE_CHOICES
 
 class ProfileFactory(factory.django.DjangoModelFactory):
     title = factory.Iterator(TITLE_CHOICES, getter=lambda c: c[0])
     first_name = factory.Faker('first_name')
     last_name = factory.Faker('last_name')
-    discipline = factory.Iterator(SCIPOST_DISCIPLINES[2][1], getter=lambda c: c[0])
 
     class Meta:
         model = Profile
diff --git a/profiles/forms.py b/profiles/forms.py
index dfacc22bce8af612b184963528bafa83b64ac247..84363c7354f0703e2cd7a2471d038d6c4176b896 100644
--- a/profiles/forms.py
+++ b/profiles/forms.py
@@ -24,7 +24,6 @@ class ProfileForm(forms.ModelForm):
     class Meta:
         model = Profile
         fields = ['title', 'first_name', 'last_name',
-                  'discipline', 'expertises',
                   'orcid_id', 'webpage',
                   'acad_field', 'specialties', 'topics',
                   'accepts_SciPost_emails', 'accepts_refereeing_requests',
diff --git a/profiles/migrations/0033_auto_20200927_1658.py b/profiles/migrations/0033_auto_20200927_1658.py
new file mode 100644
index 0000000000000000000000000000000000000000..f59e358956d27d1b00ad80b1760d317cba9764c0
--- /dev/null
+++ b/profiles/migrations/0033_auto_20200927_1658.py
@@ -0,0 +1,21 @@
+# Generated by Django 2.2.16 on 2020-09-27 14:58
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('profiles', '0032_populate_profile_acad_field_specialties'),
+    ]
+
+    operations = [
+        migrations.RemoveField(
+            model_name='profile',
+            name='discipline',
+        ),
+        migrations.RemoveField(
+            model_name='profile',
+            name='expertises',
+        ),
+    ]
diff --git a/profiles/models.py b/profiles/models.py
index 683807d5da5f53c57d17363dcb4a5a01773ebd22..ae67c9c771b1a927d4375376698b02f34ddd41cf 100644
--- a/profiles/models.py
+++ b/profiles/models.py
@@ -8,8 +8,7 @@ from django.db.models.functions import Concat
 from django.shortcuts import get_object_or_404
 
 from scipost.behaviors import orcid_validator
-from scipost.constants import (
-    TITLE_CHOICES, SCIPOST_DISCIPLINES, DISCIPLINE_PHYSICS, SCIPOST_SUBJECT_AREAS)
+from scipost.constants import TITLE_CHOICES
 from scipost.fields import ChoiceArrayField
 from scipost.models import Contributor
 
@@ -51,11 +50,7 @@ class Profile(models.Model):
     title = models.CharField(max_length=4, choices=TITLE_CHOICES, blank=True, null=True)
     first_name = models.CharField(max_length=64)
     last_name = models.CharField(max_length=64)
-    discipline = models.CharField(max_length=20, choices=SCIPOST_DISCIPLINES,
-                                  default=DISCIPLINE_PHYSICS, verbose_name='Main discipline')
-    expertises = ChoiceArrayField(
-        models.CharField(max_length=10, choices=SCIPOST_SUBJECT_AREAS),
-        blank=True, null=True)
+
     orcid_id = models.CharField(max_length=20, verbose_name="ORCID id",
                                 blank=True, validators=[orcid_validator])
     webpage = models.URLField(max_length=300, blank=True)
diff --git a/profiles/templates/profiles/_profile_card.html b/profiles/templates/profiles/_profile_card.html
index 9c3aa6209718a7f5f812d3177a595c2057007d99..0a7d8253cdb46d0155fa90b0abc98a2acd4d39e8 100644
--- a/profiles/templates/profiles/_profile_card.html
+++ b/profiles/templates/profiles/_profile_card.html
@@ -74,13 +74,14 @@
 	  </td>
 	</tr>
 	<tr>
-	  <td>Discipline</td><td>{{ profile.get_discipline_display }}</td>
+	  <td>Field</td><td>{{ profile.acad_field }}</td>
 	</tr>
 	<tr>
-	  <td>Expertises</td>
-	  <td>{% for expertise in profile.expertises %}
-    	    <div class="single d-inline" data-specialization="{{expertise|lower}}" data-toggle="tooltip" data-placement="bottom" title="{{expertise|get_specialization_display}}">{{ expertise|get_specialization_code }}</div>
-	  {% endfor %}
+	  <td>Specialties</td>
+	  <td>
+	    {% for specialty in profile.specialties.all %}
+    	      <div class="single d-inline" data-specialty="{{ specialty }}" data-toggle="tooltip" data-placement="bottom" title="{{ specialty }}">{{ specialty.code }}</div>
+	    {% endfor %}
 	  </td>
 	</tr>
 	<tr><td>ORCID ID</td><td><a href="//orcid.org/{{ profile.orcid_id }}" target="_blank">{{ profile.orcid_id }}</a></td></tr>
diff --git a/profiles/views.py b/profiles/views.py
index efad548f0c345e4565aa4f8aca26285be7b02194..bb6cbb41a75a6c1d9ec7d9ddcc15e63b75c0a36d 100644
--- a/profiles/views.py
+++ b/profiles/views.py
@@ -121,8 +121,8 @@ class ProfileCreateView(PermissionsMixin, CreateView):
                     'first_name': refinv.first_name,
                     'last_name': refinv.last_name,
                     'email': refinv.email_address,
-                    'discipline': refinv.submission.discipline,
-                    'expertises': refinv.submission.secondary_areas,
+                    'acad_field': refinv.submission.acad_field.id,
+                    'specialties': [s.id for s in refinv.submission.specialties.all()],
                 })
             elif from_type == 'registrationinvitation':
                 reginv = get_object_or_404(RegistrationInvitation, pk=pk)