diff --git a/doc/ref/meataxe.xml b/doc/ref/meataxe.xml
index 6d8eae834e..8ee1bd4464 100644
--- a/doc/ref/meataxe.xml
+++ b/doc/ref/meataxe.xml
@@ -393,6 +393,7 @@ and change is the base change from bas to sub
creates a new module corresponding to the action of module on
+the non-trivial submodule
sub.
In the NB version the basis sub must be normed.
(That is it must be in echelon form with pivots normed to 1,
@@ -405,7 +406,7 @@ see .)
creates a new module corresponding to the action of module on the
-factor of sub. If compl is given, it has to be a basis of a
+factor of the proper submodule sub. If compl is given, it has to be a basis of a
(vector space-)complement of sub. The action then will correspond to
compl.
diff --git a/lib/combinat.gi b/lib/combinat.gi
index be8b5bdeac..0475f63ef5 100644
--- a/lib/combinat.gi
+++ b/lib/combinat.gi
@@ -2466,6 +2466,7 @@ InstallGlobalFunction(AssociatedPartition,function(lambda)
local res, k, j;
res := [];
k := Length(lambda);
+ if k=0 then return res;fi; # empty partition
for j in [1..lambda[1]] do
if j <= lambda[k] then
res[j] := k;
diff --git a/lib/meataxe.gi b/lib/meataxe.gi
index 2267e545a3..59ce7e3ded 100644
--- a/lib/meataxe.gi
+++ b/lib/meataxe.gi
@@ -3128,17 +3128,6 @@ local a,u,i,nb;
end;
SMTX.BasesMinimalSupermodules:=SMTX_BasesMinimalSupermodules;
-SMTX_BasisRadical:=function(module)
-local m,i,r;
- m:=SMTX.BasesMaximalSubmodules(module);
- r:=m[1];
- for i in [2..Length(m)] do
- r:=SumIntersectionMat(r,m[i])[2];
- od;
- return r;
-end;
-SMTX.BasisRadical:=SMTX_BasisRadical;
-
#############################################################################
##
#F SMTX.SpanOfMinimalSubGModules(m1, m2) . .
@@ -3182,7 +3171,7 @@ local cf, mat, i;
cf:=SMTX.CollectedFactors(module);
mat:=Concatenation(List(cf,i->SMTX_SpanOfMinimalSubGModules(i[1],module)));
if Length(cf) = 1 then
- return mat;
+ return ImmutableMatrix(module.field,mat);
fi;
TriangulizeMat(mat);
mat:=ImmutableMatrix(module.field,mat);
diff --git a/tst/testinstall/combinat.tst b/tst/testinstall/combinat.tst
index b572bfbb86..14ddf3a362 100644
--- a/tst/testinstall/combinat.tst
+++ b/tst/testinstall/combinat.tst
@@ -498,5 +498,11 @@ gap> Print(List( [0..14], Bernoulli ),"\n");
gap> Bernoulli( 80 );
-4603784299479457646935574969019046849794257872751288919656867/230010
+# AssociatedPartition
+gap> AssociatedPartition([]);
+[ ]
+gap> AssociatedPartition(Concatenation([7],ListWithIdenticalEntries(99,1)));
+[ 100, 1, 1, 1, 1, 1, 1 ]
+
# thats it for the combinatorical package ##################################
gap> STOP_TEST( "combinat.tst", 1);