diff --git a/og_moderation.module b/og_moderation.module
index 2457738..19fef6a 100644
--- a/og_moderation.module
+++ b/og_moderation.module
@@ -254,15 +254,18 @@ function og_moderation_form_diff_node_revisions_alter(&$form) {
 function og_moderation_clone_access_alter(&$data, &$context1 = NULL, &$context2 = NULL, &$context3 = NULL) {
   $result = NODE_ACCESS_IGNORE;
   $node = $context1;
-  if (og_is_group_content_type('node', $node->type) && !empty($node->og_group_ref[LANGUAGE_NONE][0]['target_id'])) {
-    global $user;
-    $gid = $node->og_group_ref[LANGUAGE_NONE][0]['target_id'];
-    if (og_user_access('node', $gid, "clone node")) {
-      $result = NODE_ACCESS_ALLOW;
-    }
-    if ($user != NULL) {
-      if (($node->uid == $user->uid) && og_user_access('node', $gid, 'clone own nodes', $user)) {
-        return NODE_ACCESS_ALLOW;
+
+  if (clone_is_permitted($node->type)) {
+    if (og_is_group_content_type('node', $node->type) && !empty($node->og_group_ref[LANGUAGE_NONE][0]['target_id'])) {
+      global $user;
+      $gid = $node->og_group_ref[LANGUAGE_NONE][0]['target_id'];
+      if (og_user_access('node', $gid, "clone node")) {
+        $result = NODE_ACCESS_ALLOW;
+      }
+      if ($user != NULL) {
+        if (($node->uid == $user->uid) && og_user_access('node', $gid, 'clone own nodes', $user)) {
+          return NODE_ACCESS_ALLOW;
+        }
       }
     }
   }
