diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 65d65487339..1cf2f072789 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2019-02-18  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gdbtypes.c (type_align): Allow alignment of TYPE_CODE_METHODPTR
+	and TYPE_CODE_MEMBERPTR to be overridden by the gdbarch.
+
 2019-02-18  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
 
 	* ada-task.c (_initialize_tasks): Use 'with_cleanup' register
diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
index 675878337b3..0d293393dae 100644
--- a/gdb/gdbtypes.c
+++ b/gdb/gdbtypes.c
@@ -3011,6 +3011,8 @@ type_align (struct type *type)
     case TYPE_CODE_CHAR:
     case TYPE_CODE_BOOL:
     case TYPE_CODE_DECFLOAT:
+    case TYPE_CODE_METHODPTR:
+    case TYPE_CODE_MEMBERPTR:
       {
 	struct gdbarch *arch = get_type_arch (type);
 	align = gdbarch_type_align (arch, type);
@@ -3053,11 +3055,6 @@ type_align (struct type *type)
 	 anyway.  */
       break;
 
-    case TYPE_CODE_METHODPTR:
-    case TYPE_CODE_MEMBERPTR:
-      align = type_length_units (type);
-      break;
-
     case TYPE_CODE_VOID:
       align = 1;
       break;