diff --git a/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/named/ConversationScoped.java b/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/grouped/ConversationGroup.java
similarity index 85%
copy from core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/named/ConversationScoped.java
copy to core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/grouped/ConversationGroup.java
index 8f66e21..4461f71 100644
--- a/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/named/ConversationScoped.java
+++ b/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/grouped/ConversationGroup.java
@@ -16,10 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.myfaces.extensions.cdi.core.api.scope.conversation.named;
+package org.apache.myfaces.extensions.cdi.core.api.scope.conversation.grouped;
 
-import javax.enterprise.context.NormalScope;
-import java.lang.annotation.Inherited;
 import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
 import static java.lang.annotation.ElementType.*;
@@ -29,10 +27,9 @@
 /**
  * @author Gerhard Petracek
  */
-@Target({METHOD,TYPE,FIELD})
+@Target({PARAMETER,TYPE,FIELD,METHOD})
 @Retention(RUNTIME)
-@NormalScope
-@Inherited
-public @interface ConversationScoped
+public @interface ConversationGroup
 {
-}
+    Class value() default DefaultGroup.class;
+}
\ No newline at end of file
diff --git a/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/named/ConversationScoped.java b/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/grouped/ConversationScoped.java
similarity index 95%
rename from core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/named/ConversationScoped.java
rename to core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/grouped/ConversationScoped.java
index 8f66e21..488d8ed 100644
--- a/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/named/ConversationScoped.java
+++ b/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/grouped/ConversationScoped.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.myfaces.extensions.cdi.core.api.scope.conversation.named;
+package org.apache.myfaces.extensions.cdi.core.api.scope.conversation.grouped;
 
 import javax.enterprise.context.NormalScope;
 import java.lang.annotation.Inherited;
@@ -29,7 +29,7 @@
 /**
  * @author Gerhard Petracek
  */
-@Target({METHOD,TYPE,FIELD})
+@Target({PARAMETER,TYPE,FIELD,METHOD})
 @Retention(RUNTIME)
 @NormalScope
 @Inherited
diff --git a/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/named/ConversationScoped.java b/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/grouped/DefaultGroup.java
similarity index 69%
copy from core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/named/ConversationScoped.java
copy to core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/grouped/DefaultGroup.java
index 8f66e21..d403dc8 100644
--- a/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/named/ConversationScoped.java
+++ b/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/grouped/DefaultGroup.java
@@ -16,23 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.myfaces.extensions.cdi.core.api.scope.conversation.named;
-
-import javax.enterprise.context.NormalScope;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
+package org.apache.myfaces.extensions.cdi.core.api.scope.conversation.grouped;
 
 /**
  * @author Gerhard Petracek
  */
-@Target({METHOD,TYPE,FIELD})
-@Retention(RUNTIME)
-@NormalScope
-@Inherited
-public @interface ConversationScoped
+public interface DefaultGroup
 {
 }
diff --git a/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/named/AbstractNamedConversationContextAdapter.java b/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/grouped/AbstractGroupedConversationContextAdapter.java
similarity index 94%
rename from core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/named/AbstractNamedConversationContextAdapter.java
rename to core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/grouped/AbstractGroupedConversationContextAdapter.java
index 3f7ccc4..e768609 100644
--- a/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/named/AbstractNamedConversationContextAdapter.java
+++ b/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/grouped/AbstractGroupedConversationContextAdapter.java
@@ -16,10 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.named;
+package org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.grouped;
 
-import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.named.ConversationScoped;
-import org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.named.spi.ConversationManager;
+import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.grouped.ConversationScoped;
+import org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.grouped.spi.ConversationManager;
 
 import javax.enterprise.inject.spi.BeanManager;
 import javax.enterprise.inject.spi.Bean;
@@ -32,11 +32,11 @@
 /**
  * @author Gerhard Petracek
  */
-public abstract class AbstractNamedConversationContextAdapter implements Context
+public abstract class AbstractGroupedConversationContextAdapter implements Context
 {
     protected BeanManager beanManager;
 
-    public AbstractNamedConversationContextAdapter(BeanManager beanManager)
+    public AbstractGroupedConversationContextAdapter(BeanManager beanManager)
     {
         this.beanManager = beanManager;
     }
diff --git a/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/named/spi/ConversationManager.java b/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/grouped/spi/ConversationManager.java
similarity index 98%
rename from core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/named/spi/ConversationManager.java
rename to core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/grouped/spi/ConversationManager.java
index eb5ac36..1be39fa 100644
--- a/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/named/spi/ConversationManager.java
+++ b/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/grouped/spi/ConversationManager.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.named.spi;
+package org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.grouped.spi;
 
 import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.ConversationContext;
 
diff --git a/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/DefaultConversationManager.java b/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/DefaultConversationManager.java
index 692a465..9d88ab9 100644
--- a/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/DefaultConversationManager.java
+++ b/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/DefaultConversationManager.java
@@ -18,7 +18,7 @@
  */
 package org.apache.myfaces.extensions.cdi.javaee.jsf.impl.scope.conversation;
 
-import org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.named.spi.ConversationManager;
+import org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.grouped.spi.ConversationManager;
 import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.ConversationContext;
 
 /**
diff --git a/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/named/NamedConversationContextAdapter.java b/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/grouped/GroupedConversationContextAdapter.java
similarity index 86%
rename from jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/named/NamedConversationContextAdapter.java
rename to jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/grouped/GroupedConversationContextAdapter.java
index 7f97a77..196d7ee 100644
--- a/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/named/NamedConversationContextAdapter.java
+++ b/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/grouped/GroupedConversationContextAdapter.java
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.myfaces.extensions.cdi.javaee.jsf.impl.scope.conversation.named;
+package org.apache.myfaces.extensions.cdi.javaee.jsf.impl.scope.conversation.grouped;
 
-import org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.named.spi.ConversationManager;
+import org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.grouped.spi.ConversationManager;
 import org.apache.myfaces.extensions.cdi.core.api.tools.annotate.DefaultAnnotation;
-import org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.named.AbstractNamedConversationContextAdapter;
+import org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.grouped.AbstractGroupedConversationContextAdapter;
 import org.apache.myfaces.extensions.cdi.javaee.jsf.api.qualifier.Jsf;
 
 import javax.enterprise.inject.spi.Bean;
@@ -31,9 +31,9 @@
 /**
  * @author Gerhard Petracek
  */
-public class NamedConversationContextAdapter extends AbstractNamedConversationContextAdapter
+public class GroupedConversationContextAdapter extends AbstractGroupedConversationContextAdapter
 {
-    public NamedConversationContextAdapter(BeanManager beanManager)
+    public GroupedConversationContextAdapter(BeanManager beanManager)
     {
         super(beanManager);
     }
@@ -44,7 +44,7 @@
      */
     public boolean isActive()
     {
-        return FacesContext.getCurrentInstance() != null;
+        return FacesContext.getCurrentInstance().getExternalContext().getSession(false) != null;
     }
 
     /**
diff --git a/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/named/NamedConversationContextExtension.java b/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/grouped/GroupedConversationContextExtension.java
similarity index 87%
rename from jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/named/NamedConversationContextExtension.java
rename to jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/grouped/GroupedConversationContextExtension.java
index 6aa3f98..067788a 100644
--- a/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/named/NamedConversationContextExtension.java
+++ b/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/grouped/GroupedConversationContextExtension.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.myfaces.extensions.cdi.javaee.jsf.impl.scope.conversation.named;
+package org.apache.myfaces.extensions.cdi.javaee.jsf.impl.scope.conversation.grouped;
 
 import javax.enterprise.inject.spi.Extension;
 import javax.enterprise.inject.spi.AfterBeanDiscovery;
@@ -26,9 +26,9 @@
 /**
  * @author Gerhard Petracek
  */
-public class NamedConversationContextExtension implements Extension
+public class GroupedConversationContextExtension implements Extension
 {
     public void afterBeanDiscovery(@Observes AfterBeanDiscovery event, BeanManager manager) {
-        event.addContext(new NamedConversationContextAdapter(manager));
+        event.addContext(new GroupedConversationContextAdapter(manager));
     }
 }
