Index: content_profile.module
===================================================================
--- content_profile.module	(revision 20282)
+++ content_profile.module	(working copy)
@@ -585,6 +585,16 @@
     	'file' => 'content_profile.pageroute.inc',
     );
   }
+  if (module_exists('ud') && module_exists('nd')) {
+    $build_modes = ds_get_build_modes('nd');
+    foreach ($build_modes as $key => $build_mode) {
+      $return['content_profile_nd_'. $key] = array(
+        'file' => 'content_profile.theme.inc',
+        'function' => 'content_profile_nd_render',
+        'arguments' => array('field' => NULL)
+      );
+    }
+  }
   return $return;
 }
 
@@ -647,3 +657,33 @@
     )
   );
 }
+
+/**
+ * Implentation of hook_ds_fields().
+ */
+function content_profile_ds_fields() {
+
+  $node_types = content_profile_get_types();
+  $build_modes = ds_get_build_modes('nd');
+
+  $formatters = array();
+  foreach ($build_modes as $key => $build_mode) {
+    $formatters['content_profile_nd_'. $key] = $build_mode['title'];
+  }
+
+  $fields = array();
+  foreach ($node_types as $node_type) {
+    $fields['ud']['ud_'. $node_type->type] = array(
+      'title' => $node_type->name,
+      'type' => DS_FIELD_TYPE_THEME,
+      'status' => DS_FIELD_STATUS_STATIC,
+      'properties' => array(
+        'formatters' => $formatters,
+        'node_type' => $node_type->type,
+      ),
+    );
+  }
+
+  return $fields;
+
+}
\ No newline at end of file
Index: content_profile.theme.inc
===================================================================
--- content_profile.theme.inc	(revision 20282)
+++ content_profile.theme.inc	(working copy)
@@ -111,3 +111,23 @@
     return 'node/'. $arg->nid .'/edit';
   }
 }
+
+/**
+ * Render the content profile node for the viewed user.
+ */
+function content_profile_nd_render($field) {
+
+  $node = content_profile_load($field['properties']['node_type'], $field['object']->uid);
+  if (!$node) {
+    return;
+  }
+  $node->build_mode = str_replace('content_profile_nd_', '', $field['formatter']);
+
+  // Check the teaser flag and show_links flag.
+  $teaser = ($node->build_mode != 'full') ? TRUE : FALSE;
+  $show_links = ds_show_field('nd', $node->type, $node->build_mode, 'links');
+
+  // Render node.
+  return node_view($node, $teaser, FALSE, $show_links);
+
+}
\ No newline at end of file
