diff --git src/bp-xprofile/bp-xprofile-loader.php src/bp-xprofile/bp-xprofile-loader.php
index 71d84e3..f8b5c91 100644
--- src/bp-xprofile/bp-xprofile-loader.php
+++ src/bp-xprofile/bp-xprofile-loader.php
@@ -102,6 +102,11 @@ class BP_XProfile_Component extends BP_Component {
 		// Set the support field type ids
 		$this->field_types = apply_filters( 'xprofile_field_types', array_keys( bp_xprofile_get_field_types() ) );
 
+		// 'option' is a special case. It is not a top-level field, so
+		// does not have an associated BP_XProfile_Field_Type class,
+		// but it must be whitelisted
+		$this->field_types[] = 'option';
+
 		// Register the visibility levels. See bp_xprofile_get_visibility_levels() to filter
 		$this->visibility_levels = array(
 			'public' => array(
diff --git tests/phpunit/testcases/xprofile/functions.php tests/phpunit/testcases/xprofile/functions.php
index 84391be..5b58308 100644
--- tests/phpunit/testcases/xprofile/functions.php
+++ tests/phpunit/testcases/xprofile/functions.php
@@ -568,4 +568,26 @@ Bar!';
 
 		$this->assertEquals( 0, xprofile_get_field_data( 'Pens', $u ) );
 	}
+
+	/**
+	 * @group xprofile_insert_field
+	 */
+	public function test_xprofile_insert_field_type_option() {
+		$g = $this->factory->xprofile_group->create();
+		$parent = $this->factory->xprofile_field->create( array(
+			'field_group_id' => $g,
+			'type' => 'selectbox',
+			'name' => 'Parent',
+		) );
+
+		$f = xprofile_insert_field( array(
+			'field_group_id' => $g,
+			'parent_id' => $parent,
+			'type' => 'option',
+			'name' => 'Option 1',
+			'field_order' => 5,
+		) );
+
+		$this->assertNotEmpty( $f );
+	}
 }
